Bugüne kadar bu var, aralıkları listesinden itertools içeren bir liste oluşturma: ŞimdiPython itertools.product ile bir liste oluşturuyor?
start_list = [xrange(0,201,1),xrange(0,201,2),xrange(0,201,5),xrange(0,201,10),xrange(0,201,20),xrange(0,201,50),xrange(0,201,100),xrange(0,201,200)]
, ben bu sonraki satırı çalıştırın çalışabilir olsaydı benim piton tercüman öldürecek biliyorum :
next_list = list(itertools.product(*start_list))
ne onun öğelerin toplamı için, her başlığın denetleyen bir argüman koymak mümkün olacağını edilir merak ediyorum ve eşit eğer sadece belirli bir miktara next_list koyar?
Belki böyle bir şey:
next_list = list(itertools.product(*start_list,sum(tuples)=200))
Bunun doğru olmadığını biliyorum ve ben bu konuda gidiyorum şekilde yeniden düşünmeye başlamak gerekebilir. Start_list'in jeneratördeki aralıkları başka bir liste oluşturmak için geçecek kadar çok mu olacak?
Tamsayı 200'ün farklı kümelerden elde edilen 8 terime nasıl bölüneceğini anlamaya çalışıyorsanız, sonraki_listeyi hesaplamanın daha kolay yolları vardır. Doğru sayıyorsam Kartezyen ürününüzün üzerinde yinelenecek olan 5768123130 farklı öğeleri vardır, bu da oldukça zaman alacaktır. – DSM
Merhaba DSM, yanıt verdiğiniz için teşekkürler. Daha verimli bir yöntem oluşturmaya çalışacağım. – tijko
ile ilgili: http://stackoverflow.com/questions/1106929/find-all-combinations-of-coins-when-given-some-dollar-value – jfs