0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

便利なset()の使いかた Python競プロメモ②

Posted at

使用言語 Python3

ランダムに抽出された6つ数字が、これとは別に無作為に選ばれた6つの数字と、何個同じ数をい持っているか、という問題。

最初はforで無理やり当てはめれば解けると考えていたが、どう考えても効率が悪い
そこでset()というものをみつけた。

ここで具体的な例で考えてみる。

#無作為に選ばれた数字6つ
a_1 = [1,2,3,4,5,6]
a_2 = [51,44,76,2,6,12]

ans = set(a_1)&set(a_2)
print(ans)

この時の出力結果は以下のようになる。

{2,6}

なのでansをlenでとってあげることで、要素の個数を取得できる。

ただ、この時、ansの中身がない場合

print(len(ans))
=>set()

とかえってしまい、0が取得できない。
こういうときは

if len(ans) == 0:
    print(0)
else:
   print(len(ans))

こう記述することで、同じ要素の個数を取得することができた。

また、set()を用いるときには帰依をつけるべき点が数点あり、
①set型の並びは不規則
②同じ要素は1つにまとまる。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?