steffi: Umlaute und Listen

hi,
offensichtlich scheint python nicht mit umlauten und sonderzeichen umgehen zu können:
lst=[]
lst.append("?äa")
print lst

=>['?\xe4a']

nun frage ich einfach mal, wie man am einfachsten diesem problem aus dem weg geht. die values der liste stammen in meiner anwendung nicht von mir sondern werden aus einer wörterliste importiert. kann man bei python irgendwas importieren, damit auch sonderzeichen bei listen und dictionaries kein problem mehr darstellen? oder gibt es eine geschickte möglichkeit, \xe4a wieder so zu konvertieren, dass ?äa herauskommt?
danke für Eure hilfe

  1. Hi!

    offensichtlich scheint python nicht mit umlauten und sonderzeichen umgehen zu können:
    lst=[]
    lst.append("?äa")
    print lst

    =>['?\xe4a']

    nun frage ich einfach mal, wie man am einfachsten diesem problem aus dem weg geht. die values der liste stammen in meiner anwendung nicht von mir sondern werden aus einer wörterliste importiert. kann man bei python irgendwas importieren, damit auch sonderzeichen bei listen und dictionaries kein problem mehr darstellen? oder gibt es eine geschickte möglichkeit, \xe4a wieder so zu konvertieren, dass ?äa herauskommt?

    Doch, Python kann sehr wohl mit Sonderzeichen umgehen - seit Version 2.0 ist es sogar Unicode fähig und das, was du hier siehst ist nichts anderes als ein »ä« in einer besonderen hexdezimalen Darstellung. Wie dieser Wert genau zu Stande kommt, kannst du auf dieser Seite nachlesen.

    Gibt doch einfach mal den ersten Wert deiner Liste aus und du wirst sehen, es ist ein »ä«:

    list = []
    list.append(u'ä')
    print list

    [u'\xe4']

    print list[0]

    ä

    Grüße,
    Fabian St.