Wie spalte ich einen String in Ganzzahlen in Python?

Ich habe einen String "42 0" (zum Beispiel) und muss ein Array der beiden ganzen Zahlen bekommen. Kann ich ein .split auf einem raum machen?

6 Solutions collect form web for “Wie spalte ich einen String in Ganzzahlen in Python?”

6 Antworten ist nicht annähernd genug für eine Frage, die OP sich leicht durch das Testen im Dolmetscher beantworten konnte:

 >>> "42 0".split() # or .split(" ") ['42', '0'] 

A: Ja.

Aber es wurde nicht ausdrücklich darauf hingewiesen, dass die split Methode standardmäßig auf Whitespace (Raum, Tab, Wagenrücklauf und Newline ) aufgeteilt wird, wenn man ihm kein Argument gibt.

 >>> " \r 42\n\r \t\n \r0\n\r\n".split() ['42', '0'] 

Auch die Verwendung von map sieht in der Regel sauberer als mit Listenverständnis, wenn Sie die Elemente von iterables in Einbauten wie int , float , str , etc konvertieren möchten:

 >>> map(int, "42 0".split()) [42, 0] 
 text = "42 0" nums = [int(n) for n in text.split()] 
 l = (int(x) for x in s.split()) 

Wenn Sie sicher sind, dass es immer zwei ganze Zahlen gibt, können Sie auch:

 a,b = (int(x) for x in s.split()) 

Oder wenn Sie planen, das Array nach zu ändern

 l = [int(x) for x in s.split()] 

Das sollte funktionieren:

 [ int(x) for x in "40 1".split(" ") ] 

Natürlich kannst du split nennen, aber es wird Strings zurückgeben, nicht ganze Zahlen. Machen

 >>> x, y = "42 0".split() >>> [int(x), int(y)] [42, 0] 

oder

 [int(x) for x in "42 0".split()] 

Andere Antworten zeigen bereits, dass du Split () verwenden kannst, um die Werte in eine Liste zu bringen . Wenn du nach Pythons Arrays fragst , hier ist eine Lösung:

 import array s = '42 0' a = array.array('i') for n in s.split(): a.append(int(n)) 

Bearbeiten: Eine prägnantere Lösung:

 import array s = '42 0' a = array.array('i', (int(t) for t in s.split())) 
  • Hinzufügen von Backslashs ohne Flucht [Python]
  • Python 2 re.sub Ausgabe
  • Prozess-Escape-Sequenzen in einer Zeichenfolge in Python
  • Python 2.7 str (055) gibt "45" anstelle von 055
  • Schnellste Möglichkeit, diese Bindestriche in Pythonstring einzufügen?
  • Konvertieren Sie Hex-String zu int in Python
  • Wie man JSON-Daten aus einer Antwort mit Kopf und Körper extrahiert?
  • Rückkehr True, wenn alle Zeichen in einem String in einem anderen String sind
  • Wie führe ich zwei Strings in Python?
  • Matplotlib-Plot in CGI mit cStringIO anzeigen
  • Gießen rohe Strings Python
  • Python ist die beste Programmiersprache der Welt.