string liste ohne anführungszeichen möglich?

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
blutigeranfaenger
User
Beiträge: 65
Registriert: Dienstag 4. März 2014, 12:04

Hallo zusammen,
wie mein Name schon sag, beschäftige ich mich erst seit kurzem mit Python3.
Vorher habe ich mich ein wenig mit Perl beschäftigt.
Bis jetzt finde ich Python viel einfacher und übersichtlicher.
Eine Sache allerdings gibt es in Perl, die ich in Python vermisse.
Dort konnte man eine liste aus strings so erzeugen:

Code: Alles auswählen

@liste = qw ( hallo welt )
In Python brauche ich ja immer die Anführungszeichen.
Gibt es vielleicht nicht doch eine Möglichkeit, diese wegzulassen?
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wenn ich dich richtig verstehe, dann willst du bestimmt sowas:

Code: Alles auswählen

>>> 'a b c'.split()
['a', 'b', 'c']
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Also wenn ich die Doku zu qw richtig verstehe, gibt es so etwas wirklich nicht äquivalent, da man in Python keine String-Literale ohne Anführungszeichen schreiben kann und es auch keinen Präprozessor oder ähnliches gibt... aber der von snafu genannte Workaround hat ja auch nur zwei Zeichen "Overhead" ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
blutigeranfaenger
User
Beiträge: 65
Registriert: Dienstag 4. März 2014, 12:04

Ja doch, das ist doch schon viel komfortabler!
Danke!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wobei ich gestehen muss, dass mir auf Anhieb kein Szenario einfällt, wo man das wirklich sinnvoll nutzen kann. Wenn man wenige konstante Parameter hat, so fällt das Tippen von Anführungszeichen kaum ins Gewicht. Hat man dagegen ganz *viele* derartige Parameter, so stellt sich die Frage, ob das wirklich *in* den Code selber gehört, oder nicht viel mehr als Daten ausgelagert... ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten