значение проверки Python отсутствует в списке Unicode - PullRequest
0 голосов
/ 13 мая 2010

У меня есть список и значение, и я хочу проверить, нет ли значения в списке.

list = [u'first record', u'second record']
value = 'first record'

if value not in list:
    do something

однако это не работает, и я думаю, что это как-то связано со значениями списка, имеющими u в начале, как я могу это исправить? И до того, как кто-то предположит, что список возвращен из набора запросов Django, я не могу просто взять его из кода:)

Спасибо

Ответы [ 2 ]

3 голосов
/ 13 мая 2010

unicode(value) превращает ваш 'first record' в u'first record'. Это может исправить ваши проблемы. Однако, в зависимости от содержимого, это может не сработать, и вам придется использовать функцию .encode('charset'), в которой есть строки.

PS: Ваш пример плохой, так как эти строки равны в юникоде и не в юникоде, и поэтому ваш пример работает нормально.

3 голосов
/ 13 мая 2010

Не понимаю, почему это не сработает:

s1 = 'hello'
s2 = u'hello'
s1 == s2 # True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...