Как я могу сравнить тип Unicode со строкой в Python?
Я пытаюсь использовать список, который сравнивает строковые объекты, но одна из строк - utf-8, побочный продукт json.loads. Сценарий:
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.
РЕДАКТИРОВАТЬ: Яиспользуя Google App Engine, который использует Python 2.7
Вот'Более полный пример проблемы:
#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"]