我有一個輸入:[a,b,c,*]
如果我的輸入有 *,那么我需要創建輸入串列的 29 個不同版本(土耳其字母表中的 29 個字母),如下所示。我還需要從新陣列中洗掉 *:
harfler[1]: ['a', 'b', 'c', 'a'] harfler[2]: ['a', 'b', 'c', 'b'] 。. . harfler[29]: ['a', 'b', 'c', 'z']
我嘗試使用 for 回圈,但沒有得到我想要的。我怎樣才能做到這一點?
letters=input("Enter the letters")
alphabet=['a','b','c']
letters_array=[]
letters=letters.join(alphabet)
for character in alphabet:
letters=letters.join(alphabet)
letters_array.append(letters)
print(letters_array)
uj5u.com熱心網友回復:
我認為你想要的是這樣的:
dummy = list('abc*')
alphabet = ['a', 'b', 'c']
if '*' in dummy:
starIdx = dummy.index('*')
allVersions = []
for c in alphabet:
newVersion = dummy.copy()
newVersion[starIdx] = c
allVersions.append(newVersion)
print(allVersions)
這將輸出:
[['a', 'b', 'c', 'a'], ['a', 'b', 'c', 'b'], ['a', 'b', 'c', 'c']]
請注意,這僅適用于您輸入的一顆星。更多的星星,你會遇到版本的組合。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510796.html
