yer aldığı bir liste azaltmak kullanarak. reduce
üzerinde basit bir varyasyon kullanmaya çalışıyorum, bunu yapmak için bir düz liste yerine çiftlerin listesini düşünün. Ben çizgisinde bir şey yapmak istiyorum: Ben numaralar nums
listesinde her öğesi özgüdür toplamına ek bilgi eklemek istiyorumPython Ben nesnelerin toplamı yaparken benzer bir şekilde yaparız, nihai nesne oluşturmak için bir listede bir araya unsurların bir demet eşleştirmeye çalışıyorum çiftleri
nums = [1, 2, 3]
reduce(lambda x, y: x + y, nums)
hariç. Her çift (a, b) Listede, (a + b) olarak toplamını çalıştırmak için Örnek:
nums = [(1, 0), (2, 5), (3, 10)]
reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
Bu işe yaramazsa:
>>> reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: 'int' object is unsubscriptable
Neden çalışmıyor? nokta değil - - Ben düz bir liste olarak nums
kodlamak biliyorum ben sadece bir çiftlerinin listesini sürekli tekrarlanması veya aynı anda uzunluk ve havuz iki bilgi üzerinde listelerinden yapabilirsiniz operasyonu azaltmak yaratmak isterler her iki liste. Teşekkürler.
bir tanımlama grubu olmak azaltmak sonucunu ister misin? –
Küçültmek zorunda mısın? Basit toplamı (x [0] + x [1] Nums içinde x) tercih – cerealy