我有一个包含大约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...
我对如何做到这一点非常困惑,任何建议都会有所帮助,
由于
答案 0 :(得分:12)
您可以使用combinations模块中的itertools功能:
>>> from itertools import combinations
>>> list(combinations('ABCD', 2))
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]
第一个参数是输入列表,第二个参数是生成的子序列的长度。
答案 1 :(得分:0)
for a in array:
for b in array:
print [a, b]
答案 2 :(得分: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