python 检查值是否不在 Unicode 列表中
我有一个列表和一个值,我想检查这个值是否不在列表里。
list = [u'first record', u'second record']
value = 'first record'
if value not in list:
do something
但是这个方法不管用,我觉得可能是因为列表里的值前面有个“u”,我该怎么解决这个问题呢?在有人建议我直接把“u”去掉之前,我想说这个列表是从Django的查询集中返回的,所以我不能直接去掉“u” :)
谢谢
2 个回答
3
我看不出为什么它会不工作:
s1 = 'hello'
s2 = u'hello'
s1 == s2 # True
4
unicode(value)
这个函数会把你的 'first record'
转换成 u'first record'
。这样做可能会解决你遇到的问题。不过,根据内容的不同,这个方法可能会失败,这时候你就需要用到 .encode('charset')
这个函数来处理字符串。
另外,你的例子不太好,因为这些字符串在unicode和非unicode中是相等的,所以你的例子实际上是可以正常工作的。