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

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

有沒有辦法從一個整數(shù)列表中獲取一個新的整數(shù)列表,這些列表加起來等于某個值?

有沒有辦法從一個整數(shù)列表中獲取一個新的整數(shù)列表,這些列表加起來等于某個值?

汪汪一只貓 2023-06-06 17:33:26
我有一個整數(shù)列表,它們是隨機(jī)排序的并且可能重復(fù):mylist = [5,4,2,4,5,6,7,3,8,3] 和某個值(例如value=35:)現(xiàn)在我想從 中獲取一個整數(shù)列表mylist,我們將其命名為sumlist,其中包括加起來為 的所有可能的數(shù)字選項(xiàng)value。所以當(dāng)我會做的時候:sum=0for i in  sumlist[0]:   sum+=isum == value會回來的True。
查看完整描述

1 回答

?
大話西游666

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

Itertools.combinations很容易管理這個。當(dāng)您為它提供一個列表和一個長度時,它會給出該長度的所有可能組合,并且與排列不同,它會刪除重復(fù)項(xiàng)。為確保嘗試每個選項(xiàng),必須嘗試每個長度(從 0 到完整字符串),如下所示:


import itertools

def SumList(MyList,Value):

? ? for Length in range(1,len(MyList)):? ? ? ? ??

? ? ? ? for ListOfVals in itertools.combinations(MyList,Length):?

? ? ? ? ? ? Total=0

? ? ? ? ? ? for num in ListOfVals:

? ? ? ? ? ? ? ? Total+=num

? ? ? ? ? ? if Total==Value:

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? return(ListOfVals)

? ? ? ? ? ? ? ??

mylist=[5,4,2,4,5,6,7,3,8,3]

value=35

print(SumList(mylist,value))




>>[5,4,5,6,7,8]

就像一個快速的旁注,這將始終輸出最短的組合,因?yàn)樗鼤淖疃痰阶铋L迭代長度。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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