python组合问题有一个二维数列list=[['a','b'],['c','d','e'],'f',['g','h',

python组合问题
有一个二维数列list=[['a','b'],['c','d','e'],'f',['g','h','i','j']], 怎么得到list[0], list[1], list[2], list[3]的所有组合情况,如
result=[[a, c, f, g], [a, d, f, g], [a, e, f, g], [a, c, f, h], [a, d, f, h] ......]
这个只是一个例子,实际中,我的list有800多项,每项有2-4个元素。
哪位大虾知道怎么做啊
zcd36588 1年前 已收到1个回答 举报

贩孑 幼苗

共回答了13个问题采纳率:84.6% 举报

a = [['a','b'],['c','d','e'],'f',['g','h','i','j']]
for i in range(len(a)):
if isinstance(a[i],str):
a[i] = [a[i]]

anum = [len(i) for i in a]
x = []
for i in range(int(''.join(map(str,anum)))):
for j in zip(list(str(i).zfill(len(a))),anum):
if int(j[0]) >= j[1]:
break
else:
x.append(list(map(int,list(str(i).zfill(len(anum))))))
temp = []
c = []
for i in x:
temp.clear()
for j,k in enumerate(i):
temp.append(a[j][k])
else:
c.append(temp)
print(c)

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.059 s. - webmaster@yulucn.com