2

約1000個の要素を持つ配列があります。実行したいのは、要素のすべての組み合わせを含むその配列からサイズ100の配列を生成することです。たとえば、私がこの配列を持っているとしましょう:

[A,B,C,D,E,F,G,H,I,J]

サイズ2の配列に分割すると、次のような配列が必要になります。

[A,B]
[A,C]
[A,D]
[A,E]
[A,F]
[A,G]
[A,H]
[A,I]
[A,J]
[B,C]
...etc...

私はこれをどのように行うかについてかなり混乱しています。

ありがとう

4

3 に答える 3

12

itertoolsモジュールのcombinations関数を使用できます。

>>> from itertools import combinations
>>> list(combinations('ABCD', 2))
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]

最初の引数は入力リストであり、2番目の引数は生成されたサブシーケンスの長さです。

于 2012-08-29T19:44:14.793 に答える
0
for a in array:
    for b in array:
        print [a, b]
于 2012-08-29T19:44:49.337 に答える
0

あなたはこれを試すことができます:

lst = [A,B,C,D,E,F,G,H,I,J]
newlst = []
for i in lst:
    for y in lst:
        newlst.append([i,y])
print newlst
于 2012-08-29T19:45:19.900 に答える