第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

對(duì)每列中的項(xiàng)目進(jìn)行獨(dú)特組合

對(duì)每列中的項(xiàng)目進(jìn)行獨(dú)特組合

守著星空守著你 2023-06-20 14:39:29
我有一個(gè)看起來像這樣的 CSV 文件:    Person 1  Person 2  Person 3   Person 4a      Apple     Apple       Yam       Beerb     Orange    Orange   Doritos     Cheesec  Pineapple  Nintendo     Apple      Sushid      Pizza    Cheese    Orange  Pineapplee    Doritos     Fanta     Pizza     Orangef       Coke    Fajita      Cake       Cokeg Strawberry     Juice      Beer        Teah Blackberry                           Yami      Sushi每列代表每個(gè)人,每一行是每個(gè)對(duì)應(yīng)(行)人喜歡的項(xiàng)目。我正在嘗試提出一種算法,可以給我一個(gè)獨(dú)特組合的列表,每個(gè)項(xiàng)目只使用一次,同時(shí)給一個(gè)人一個(gè)他想要的項(xiàng)目。就像是:1)    Person 1  Person 2  Person 3   Person 4       Apple    Orange       Yam       Beer2)    Person 1  Person 2  Person 3   Person 4       Apple    Orange       Yam     Cheese.. 很快。請(qǐng)有人指導(dǎo)我如何解決這個(gè)問題?我是python的新手。
查看完整描述

4 回答

?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

沒有圖書館:


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)


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

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']


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

我會(huì)使用 itertools.product() 來生成組合,然后使用 set() 選擇有效組合(沒有重復(fù)項(xiàng))。


是這樣的:


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)


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

這是使用熊貓的另一種方法:


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)


查看完整回答
反對(duì) 回復(fù) 2023-06-20
  • 4 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)