Ich bin grade beim Python lernen und habe mir grade eine Funktion definiert:
Code: Alles auswählen
def pupkey(seq):
liste = liste(seq)
zahlen = [int(item)
for item in liste]
return int(??)
Hoffe auf Hilfe
Mfg Impi
Code: Alles auswählen
def pupkey(seq):
liste = liste(seq)
zahlen = [int(item)
for item in liste]
return int(??)
Code: Alles auswählen
>>> reduce(lambda x,y: x*y, [1,2,3,4,5])
120
Code: Alles auswählen
>>> import operator
>>> operator.mul(2,2)
4
Code: Alles auswählen
def pupkey(seq):
liste = list(seq)
zahlen = [int(item)
for item in liste]
return reduce(lambda p,q: p*q, [zahlen])
Zahlen ist doch schon eine Liste, du musst sie nicht in eckige Klammern packen.Impi hat geschrieben:Bekomme nur die Liste ausgegeben die ich im Hauptprogramm erstellt habe!? :KCode: Alles auswählen
def pupkey(seq): liste = list(seq) zahlen = [int(item) for item in liste] return reduce(lambda p,q: p*q, [zahlen])
Naja, letzteres ist eben nicht mehr als ``2 * 2`` umständlich geschrieben.BlackVivi hat geschrieben:=DDCode: Alles auswählen
>>> reduce(lambda x,y: x*y, [1,2,3,4,5]) 120
Edit:
Ansonsten, wenn du die Operatoren suchst...
Code: Alles auswählen
>>> import operator >>> operator.mul(2,2) 4
Code: Alles auswählen
>>> import operator
>>> reduce(operator.mul, [1, 2, 3, 4, 5])
120
Genau aus diesem Zweck hab ich's ihm ja geschrieben. Hab die Operatoren in dieser "Funktionionsform" eben auch schonmal gesucht und wollte lambda damals nicht verwenden, deswegen...Leonidas hat geschrieben:Naja, letzteres ist eben nicht mehr als ``2 * 2`` umständlich geschrieben.
Aber wir können das ja durchaus auch verwenden:Code: Alles auswählen
>>> import operator >>> reduce(operator.mul, [1, 2, 3, 4, 5]) 120
Code: Alles auswählen
>>> (2).__mul__(2)
4
Code: Alles auswählen
In [15]: reduce(int.__mul__, [1.0, 2.0, 3.0, 4.0, 5.0])
---------------------------------------------------------------------------
<type 'exceptions.TypeError'> Traceback (most recent call last)
/home/bj/<ipython console> in <module>()
<type 'exceptions.TypeError'>: descriptor '__mul__' requires a 'int' object but received a 'float'