python3 求一個list的所有子集


python3 求一個list的所有子集

def PowerSetsBinary(items):
    N = len(items)
    for i in range(2 ** N):#子集的個數
        combo = []
        for j in range(N):#用來判斷二進制數的下標為j的位置的數是否為1
            if (i >> j) % 2:
                combo.append(items[j])
        print(sum(combo))
        print(combo,"\n")

        
L = [100000,12844.26,11393.83,14819.92,747.04,843,30435.12,3628.48,40856.32,12326.16,20259.01,16360.18,26146.4,4268.8,6403.2,5015.84,41366.51,6819.48,15061.12,31887.67,28590.49,63716.64,9469.35,12749.43,16346.4,100000,23557.22,1067.2,192.1,533.6]
print(round(sum(L),2))
#PowerSetsBinary(L)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM