4 回答

TA貢獻1895條經驗 獲得超3個贊
沒有圖書館:
pools = ['Apple', 'Orange', ...], ['Apple', 'Orange', ...], [...], [...]]
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool if y not in x]
print(result)

TA貢獻1803條經驗 獲得超3個贊
pools = [['Apple', 'Orange','Pineapple'], ['Apple', 'Orange','pizza'],['Apple',
'Orange','pizza','beer']]
results = []
for pool in pools:
results.append([item for item in pool if item not in results][0])
Output: ['Apple', 'Orange', 'pizza']

TA貢獻1783條經驗 獲得超4個贊
我會使用 itertools.product() 來生成組合,然后使用 set() 選擇有效組合(沒有重復項)。
是這樣的:
from itertools import product
person_1 = ['Apple', 'Orange', 'Pineapple', ...]
person_2 = ['Apple', 'Orange', 'Nintendo', ...]
person_3 = ['Yam', 'Doritos', 'Apple', ...]
person_4 = ['Beer', 'Cheese', 'Sushi', ...]
for p in product(person_1, person_2, person_3, person_4):
if len(p) == len(set(p)):
print(p)

TA貢獻1817條經驗 獲得超14個贊
這是使用熊貓的另一種方法:
import pandas as pd
d= {"Person 1" : ['Apple', 'Orange', 'Pineapple', ...],"Person 2" : ['Apple', 'Orange', 'Nintendo', ...],"Person 3" : ['Yam', 'Doritos', 'Apple', ...],"Person 4" : ['Beer', 'Cheese', 'Sushi', ...]}
df = pd.DataFrame(data=d)
df=df.drop_duplicates()
df=df.dropna(axis=0)
print(df)
添加回答
舉報