Seite 1 von 1

Strings innerhalb einer Liste in Grossbuchstaben umwandeln

Verfasst: Freitag 4. Juni 2004, 11:04
von thomas_m
Hallo,
ist es möglich, den gesamten Inhalt einer Liste in Grossbuchstaben umzuwandeln?
Bei einzelnen Stringelementen des Arrays ist es kein Problem:

Code: Alles auswählen

array = ["test1", "testing2"]
import string
string.upper (array [0])
Hier würde also der erste Wert umgewandelt.
Ich möchte aber, dass alle enthaltenen String-Elemente eines Arrays umgewandelt werden, da die Elementzahl dynamisch ist.

Danke...

Verfasst: Freitag 4. Juni 2004, 12:00
von fs111
Einfach in einer Schleife über alle Elemente iterieren:

Code: Alles auswählen

>>> liste
['a', 'b', 'c']
>>> for i in range(len(liste)):
...     liste[i]=liste[i].upper()
...
>>> liste
['A', 'B', 'C']
HTH

Grüße fs111

Verfasst: Freitag 4. Juni 2004, 12:20
von Gast
Am besten natürlich so:

Code: Alles auswählen

array = ["test1", "testing2"]

array = [i.upper() for i in array]

array
['TEST1', 'TESTING2']

Verfasst: Freitag 4. Juni 2004, 12:30
von fs111
Ja klar, das ist die pythonifizierte Variante, die vergesse ich immer.

fs111

Verfasst: Freitag 4. Juni 2004, 12:32
von thomas_m
Danke,
dass ist genau das, was ich gesucht habe.
Beide Lösungen reichen vollkommen aus.

Grüsse und schönes WE...
:D

Verfasst: Freitag 4. Juni 2004, 12:47
von Dookie
Hallo,

aber Achtung!!! die beiden Varianten sind nicht gleichwertig. Bei der ersten Variante mit der For-Schleife wird die Liste inplace geändert, bei der 2. mit "List Comprehensions" wird eine neue Liste erstellt.


Gruß

Dookie

Verfasst: Samstag 5. Juni 2004, 19:31
von Gast
Wo ist praktisch der unterschied wenn die davor überschrieben wird?

Verfasst: Samstag 5. Juni 2004, 21:01
von Dookie
der Unterschied ist der, daß dann eben die alten Einträge futsch sind bzw. durch die neuen überschrieben, daß kann bei der einen Anwendung sinvoll sein, bei der Anderen fatal.


Gruß

Dookie