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

有没有办法让嵌套循环尽可能多的循环(python)?

有没有办法让嵌套循环尽可能多的循环(python)?

江户川乱折腾 2021-12-26 10:34:13
我想做的事情是创建每一个组合,但只使用每个字母中的一个我用 3 组字母做到了inlist = ["Aa", "Bb", "Cc"]outlist = []for i in inlist[0]:    for j in inlist[1]:        for k in inlist[2]:            outlist.append(str(i + j + k))输出:outlist = ['ABC', 'ABC', 'AbC', 'Abc', 'aBC', 'aBc', 'abC', 'abc']如果我想用 2 组或 4 组字母来做这件事怎么办?有没有更简单的方法?
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

itertools.product 正是这样做的:


from itertools import product


inlist = ["Aa", "Bb", "Cc"]

outlist = []


for abc in product(*inlist):

    outlist.append(''.join(abc))


print(outlist)

# ['ABC', 'ABc', 'AbC', 'Abc', 'aBC', 'aBc', 'abC', 'abc']

abc是一个从('A', 'B', 'C')到的元组('a', 'b', 'c')。剩下的唯一事情就是join回到带有''.join(abc).


查看完整回答
反对 回复 2021-12-26
?
心有法竹

TA贡献1866条经验 获得超5个赞

>>> import itertools

>>> inlist = ["Aa", "Bb", "Cc"]

>>> [''.join(i) for i in itertools.product(*inlist)]

['ABC', 'ABc', 'AbC', 'Abc', 'aBC', 'aBc', 'abC', 'abc']


查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号