integer zu liste in python?

elementarstring  17.05.2022, 23:21

Hast mal nach append() geschaut?

HiroNeedsHelp 
Beitragsersteller
 17.05.2022, 23:31

habs dann auch mitgekriegt 😂🥲

3 Antworten

Der „+“-Operator dient dazu eine Liste mit einer anderen Liste zu vereinigen (hintereinanderzufügen). Bzw. kann man statt einer zweiten Liste auch einen String oder ein anderes iterables Objekt verwenden, wobei der String dann wie eine Liste der einzelnen Zeichen behandelt wird.

Im konkreten Fall gibt die liste + zahl einen Fehler, da zahl keine Liste ist, dort aber eine Liste (oder ein anderes iterables Objekt) erwartet wird. Wenn du hingegen str(zahl) = "12345" verwendest wird bei liste + str(zahl) der String "12345" wie eine Liste ['1', '2', '3', '4', '5'] behandelt. Daher geht das, auch wenn es nicht das macht, was du möchtest.

===========

1. Lösungsmöglichkeit:

Verwende die list.append()-Methode statt dem +-Operator. Beispiel:

liste = []
zahl = 12345
liste.append(zahl)
print(liste)

2. Lösungsmöglichkeit:

Packe die Zahl in eine Liste, und füge dann die Listen mit dem +-Operator zusammen. Beispiel:

liste = []
zahl = 12345
liste += [zahl]
print(liste)

a = []
b = 123
c = [6,7,8]

a.append(b)
print(a)
a += c
print(a)

Du addierst mit liste+=zahl eine List mit einem Integer.

Genauso kann man Sekunden nicht mit Metern addieren.

Ein String ist iterierbar und wird so an die Liste angefügt. Diese besondere Funktion steckt hinter dem "+=". Es wird versucht das Objekt das du übergibst (in dem Fall ein String) irgendwie an die Liste anzuhängen.

liste+=[zahl]
liste.append(zahl)

str() erzeugt einen String