記事の概要
- やりたかったこと
- リストから2つの要素を取り出す
- 取り出した組み合わせを一覧表示する
- 順不同
- コードはPythonで書きました
- 具体的には
A, B, C, D, E
が入っているリストから2つを取り出して、組み合わせを一覧表示することを考えた - 僕は愚かにも自分で実装しましたが、ライブラリがあるようです(^_^;)
サンプルコード
list_char = ["A", "B", "C", "D", "E"]
pick_list = []
for pick_1 in range(len(list_char)):
for pick_2 in range(pick_1+1, len(list_char)):
conb = [list_char[pick_1], list_char[pick_2]]
pick_list.append(conb)
print(pick_list)
実行結果
[['A', 'B'], ['A', 'C'], ['A', 'D'], ['A', 'E'], ['B', 'C'], ['B', 'D'], ['B', 'E'], ['C', 'D'], ['C', 'E'], ['D', 'E']]
考え方
- 要素を番号で管理する
- 2つの繰り返し処理を使う
ことを考えると
例えば繰り返し処理をi,j
でループ変数を管理するとする。
A, B, C, D, E
→1, 2, 3, 4, 5番目の要素と考えると
i=1
の時 →j=2, 3, 4, 5
i=2
の時 →j=3, 4, 5
i=3
の時 →j=4, 5
i=4
の時 →j=5
となれば良い
これを一般化すると
要素数が1~Nの時
i=x
の時、j=x+1
~N
- iは1~N-1を取る
となれば良い
これより、コードに落とし込むとサンプルコードのようになり、
実際に一覧表示できることが確認できた。
コメント