split problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mit
User
Beiträge: 279
Registriert: Dienstag 16. September 2008, 10:00

Montag 2. Mai 2011, 14:42

Hello,
$ python

Code: Alles auswählen

Python 2.7.1 (r271:86832, Feb 20 2011, 17:35:09) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a, b = "1,2,3".split(',')[0,2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
Wie ist es a, b die Werte 1 und 3 zuweisen?

Vielen Dank im Voraus
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Montag 2. Mai 2011, 14:55

Du kannst dort dort nur mit normalen Slice-Ausdrücken arbeiten, also [start:stop:step]. In dem Fall würde "(1, 2, 3)[0:3:2]" funktionieren. Bei komplexeren Sachen würde sich beispielsweise die Built-In Funktion "filter()" eigenen, dort kannst du die Auswahlkriterien der Liste mit einer Funktion ausdrücken.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Montag 2. Mai 2011, 15:14

So geht's auch:

Code: Alles auswählen

a, _, b = "1,2,3".split(',')
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Antworten