亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法讓嵌套循環盡可能多的循環(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 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號