Hallo,
so nach langem suchen stelle ich mal die Frage hier. Bin gerade ein bischen am python lernen und habe folgendes Problem.
ich habe einen String in der Form:
['hallo', '1', '30']
nun mache ich:
x = str[2]
x = x + 1
dabei bekomme ich die Fehlermeldung:
TypeError: cannot concatenate 'str' and 'int' objects
nun scheint es mir, das meine Variable x nicht als Zahl erkennt wird.
Wie kann ich nun diese Variable so umwandeln, das sie als Zahl erkannt wird und ich diese als Zahl weiterbenützen kann?
Danke für die Hilfe.
Gruss Felix
str in int umwandeln
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Code: Alles auswählen
>>> x = str(2)
>>> type(x)
<type 'str'>
Du suchst int().
Mein Tipp: Arbeite mal das offizielle Tutorial durch!
@Felix: Hast Du wirklich einen *String* der so aussieht? Dann wird das nämlich noch ein wenig schwieriger, denn:
Weil an Index zwei von dieser Zeichenkette ein 'h' steht.
Falls das wirklich eine Zeichenkette und keine Liste sein sollte, frag bitte nicht als nächstes wie man aus dieser Zeichenkette eine Liste macht, sondern kläre ab, warum das eine Zeichenkette ist oder sein muss und keine Liste ist.
Code: Alles auswählen
In [182]: s = "['hallo', '1', '30']"
In [183]: s[2]
Out[183]: 'h'
Falls das wirklich eine Zeichenkette und keine Liste sein sollte, frag bitte nicht als nächstes wie man aus dieser Zeichenkette eine Liste macht, sondern kläre ab, warum das eine Zeichenkette ist oder sein muss und keine Liste ist.
Uups ist natürlich kein String. Es ist eine Liste. War bischen spät gestern .BlackJack hat geschrieben:@Felix: Hast Du wirklich einen *String* der so aussieht?
in der Variable x befindet sich die Zahl x, welche ich nun wirklich als Zahl möchte und nicht als String.
Gruss Felix
Code: Alles auswählen
def f(i):
try:
i = int(i)
except ValueError:
pass
return i
## x <- Name der Liste
x = map(f,x)
## Alle Zahlen sind danach integers
Zuletzt geändert von Birne94 am Sonntag 30. November 2008, 11:31, insgesamt 2-mal geändert.
-
- User
- Beiträge: 120
- Registriert: Montag 4. Juni 2007, 19:19
Das Listenelement ist ein String weil es unter Anführungszeichen steht. Zur Konvertierung in Integer reicht grundsätzlich int(). Genauso gibts str(), float(), ...