Ben 3 kez (3 iç içe döngüler) yinelemek gerekiyor ki üzerinde listelerin bir listesi varPython itertools: listelerinin listesinin ürünün ürünü paketten en iyi yolu
rangeList = [[-0.18,0.18],[0.14,0.52],[0.48,0.85]]
ben bu kullanarak ürünü elde edebilirsiniz
from itertools import product
for val in product(product(rangeList,rangeList),rangeList):
print val
şöyle
(([-0.18, 0.18], [-0.18, 0.18]), [-0.18, 0.18])
(([-0.18, 0.18], [-0.18, 0.18]), [0.14, 0.52])
(([-0.18, 0.18], [-0.18, 0.18]), [0.48, 0.85])
(([-0.18, 0.18], [0.14, 0.52]), [-0.18, 0.18])
Onun başlığın tuple aşağıdaki gibi ürün çıkışı görünüyor. Sorularım:
- Bu iyi bir yaklaşım mıdır? 3 ayrı değişkenler her bir listesi değerini tutan
xRange
,yRange
vezRange
, demek içine ürününval
ait çıkışını açmak için Bestway ne - Eğer öyleyse, vb
[-0.18, 0.18]
veya[0.14, 0.52]
'itertools.product' 'repeat' argümanına bakın. Ürünün (rangeList, tekrar = 3) olmasını istersiniz. Yine de ürün (rangeList, rangeList, rangeList) 'da çalışır. –
'val' bir yineleyici değil,' product' sonucudur. Bu arada, ne 'xRange',' yRange' ve 'zRange' istediğiniz gibi görünüyorsun? Hangi değerleri içermelidir? – ForceBru
'İstediğiniz sonuca ulaşmak için ürün (* rangeList) 'seçeneğini kullanabilirsiniz ancak istediğiniz çıktıyı/değerleri göstermek için' xRange' /' yRange'/'zRange' –