早教吧作业答案频道 -->其他-->
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]......]
题目详情
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个元素。
哪位大虾知道怎么做啊
有一个二维数列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个元素。
哪位大虾知道怎么做啊
▼优质解答
答案和解析
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)
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)
看了 python组合问题有一个二...的网友还看了以下:
设f(x0在[a,b]单调连续,(a,b)可导,a=f(a)<f(b)=b求证:存在ξi∈(a,b 2020-05-14 …
VB怎么将1.txt内容赋值到a(i)并put#1,,a(i)输出内容Open"c:\g.txt" 2020-05-17 …
已知集合A={1234},函数fx的定义域,值域都是A,且对于任意i∈A,f(i)≠i.(求答疑) 2020-06-08 …
请问VFP中下面这个程序该怎么翻译呢?s=""f=.T.***FOUND***FORi=1TOth 2020-07-17 …
三道C语言题,请高手指点第一道:#includedoublef(intn){inti;double 2020-07-23 …
(A/P,i,n)=(A/F,i,n)+i或(A/F,i,n)=(A/P,i,n)-i我已经知道怎 2020-07-23 …
三元一次方程组a*x+b*y+c*z+d=0,e*x+f*y+g*z+h=0,i*x+j*y+k* 2020-08-03 …
F=A+A×(1+i)+…+A×(1+i)n-1,(1)等式两边同乘以(1+i):F(1+i)=A( 2020-11-01 …
在资金时间价值计算时,i和n给定,下列等式中正确的有().A.(F/A,i,n)=[(P/F,i,n 2021-01-14 …
1、在资金时间价值计算时,i和n给定,下列等式中正确的有?为什么?1、A(F/A,i,n)=[(P/ 2021-01-14 …