Wie kann ich einen Unicode-Typ mit einem String in Python vergleichen?
Ich versuche, ein Listenverständnis zu verwenden, das Zeichenfolgenobjekte vergleicht, aber eine der Zeichenfolgen ist utf-8, das Nebenprodukt von json.loads. Szenario:
us = u'MyString' # is the utf-8 string
Teil eins meiner Frage ist, warum dies Falsch zurückgibt? :
us.encode('utf-8') == "MyString" ## False
Teil zwei - wie kann ich innerhalb eines Listenverständnisses vergleichen?
myComp = [utfString for utfString in jsonLoadsObj
if utfString.encode('utf-8') == "MyString"] #wrapped to read on S.O.
BEARBEITEN: Ich verwende Google App Engine, die Python 2.7 verwendet
Hier ist ein vollständigeres Beispiel für das Problem:
#json coming from remote server:
#response object looks like: {"number1":"first", "number2":"second"}
data = json.loads(response)
k = data.keys()
I need something like:
myList = [item for item in k if item=="number1"]
#### I thought this would work:
myList = [item for item in k if item.encode('utf-8')=="number1"]