为了账号安全,请及时绑定邮箱和手机立即绑定

python二维列表,每个子列表(元素个数不同)取一个元素进行组合,列出所有可能的情况

python二维列表,每个子列表(元素个数不同)取一个元素进行组合,列出所有可能的情况

呼啦一阵风 2019-05-22 21:20:44
比如,已知二维列表[[a,b,c],[d,e],[f]],要求从每个子列表中选出一个元素进行相加,列出所有的组合情况,本题输出为adf,aef,bdf,bef,cdf,cef这6种可能。有很多这样的列表,子列表个数不一定相同,请教怎么用python进行处理
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

>>>importitertools
>>>s=[['a','b','c'],['d','e'],['f']]
>>>[''.join(i)foriinitertools.product(*s)]
['adf','aef','bdf','bef','cdf','cef']
                            
查看完整回答
反对 回复 2019-05-22
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

不多说,上代码
#!/usr/bin/python
arr=[
[
'a','b','c',
],
[
'd','e',
],
[
'f','g','h'
]
]
result=[]
length=1
forrowinarr:
length*=len(row)
#初始化返回值数组长度
foriinrange(0,length):
result.append([])
forrowinarr:
i=0
whileiforletterinrow:
result[i].append(letter)
i+=1
forrowinresult:
print",".join(row)
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 2423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信