Seite 1 von 1
Liste mit einzelnen int's aneinanderreihen zu einer großen int
Verfasst: Samstag 25. August 2018, 18:48
von naheliegend
Hi,
ich möchte aus:
einen int erzeugen der so aussieht:
Wie kriege ich das möglichst elegant hin, ohne jeden einzelnen Eintrag in der Liste auszulesen?
Gruß
Re: Liste mit einzelnen int's aneinanderreihen zu einer großen int
Verfasst: Samstag 25. August 2018, 19:06
von __blackjack__
Code: Alles auswählen
In [1]: ''.join(map(str, [1, 8, 9, 3]))
Out[1]: '1893'
Re: Liste mit einzelnen int's aneinanderreihen zu einer großen int
Verfasst: Samstag 25. August 2018, 19:15
von naheliegend
Thx, mir war die map() Funktion nicht bekannt. Danke
Re: Liste mit einzelnen int's aneinanderreihen zu einer großen int
Verfasst: Samstag 25. August 2018, 19:41
von noisefloor
Hallo,
also basierend auf der Ausgangsfrage wäre doch
weil ohne `int` in String gebaut wird - und kein Integer-Wert, wie gewünscht.
Oder ohne Typkonvertierung:
Code: Alles auswählen
>>> liste = [1, 8, 9, 3]
>>> sum([10**count*number for count, number in enumerate(liste[::-1])])
1893
>>>
Gruß, noisefloor
Re: Liste mit einzelnen int's aneinanderreihen zu einer großen int
Verfasst: Samstag 25. August 2018, 19:45
von narpfel
Eine weitere Möglichkeit wäre `reduce`:
Code: Alles auswählen
In [1]: from functools import reduce
In [2]: reduce(lambda acc, n: acc * 10 + n, [1, 8, 9, 3])
Out[2]: 1893