我想使用比較字符串對象的列表理解,但其中一個字符串是utf-8,json.loads的副產品。場景:我如何比較unicode類型與python中的字符串?
us = u'MyString' # is the utf-8 string
我的問題的一部分,是爲什麼這會返回False? :
us.encode('utf-8') == "MyString" ## False
第二部分 - 如何才能比較列表中的理解?
myComp = [utfString for utfString in jsonLoadsObj
if utfString.encode('utf-8') == "MyString"] #wrapped to read on S.O.
編輯:我使用谷歌應用程序引擎,它使用Python 2.7
這裏的問題的一個更完整的例子:我假設你正在使用Python
#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"]
第1部分回報給我。 – karthikr 2013-05-09 21:23:25
對我來說也是True,你在python3嗎? – cmd 2013-05-09 21:23:58
[在python3](http://ideone.com/F3BI7d) – Eric 2013-05-09 21:31:24