3 回答

TA貢獻(xiàn)2012條經(jīng)驗 獲得超12個贊
a = ["I","have","something","to","buy"]
store = []
for x in a:
s = []
for i in a:
if i == x:
continue
else:
s.append(i)
store.append(s)
print(store)
試試這個

TA貢獻(xiàn)1843條經(jīng)驗 獲得超7個贊
由于您只檢查列表中已有的單詞,因此您可以將問題簡化為:
wordLists = [a[:w]+a[w+1:] for w in range(len(a))]
輸出:
[['have', 'something', 'to', 'buy'], ['I', 'something', 'to', 'buy'], ['I', 'have', 'to', 'buy'], ['I', 'have', 'something', 'buy'], ['I', 'have', 'something', 'to']]

TA貢獻(xiàn)1887條經(jīng)驗 獲得超5個贊
您實際上是在從 5 個元素的列表中尋找 4 個元素(沒有替換)的所有組合。
使用itertools.combinations:
from itertools import combinations
a = ["I", "have", "something", "to", "buy"]
print(list(combinations(a, 4)))
# [('I', 'have', 'something', 'to'), ('I', 'have', 'something', 'buy'),
# ('I', 'have', 'to', 'buy'), ('I', 'something', 'to', 'buy'),
# ('have', 'something', 'to', 'buy')]
添加回答
舉報