有人可以向我解释以下内容(python 2.7)
来自解析文件的两个字符串编号:
'410.9' '410.9'(注意尾随空格)
A_LIST = ['410.9 ']
'410.9' in '410.9 '
True
'410.9' in A_LIST
False
解决这个问题没问题 - 只是试着理解为什么会这样。
谢谢!
答案 0 :(得分:7)
in
,而带有列表的in
检查成员资格。
你想要的是[x for x in A_LIST if '419' in x]
答案 1 :(得分:5)
第一个测试是测试第一个字符串是否是第二个字符串的子字符串,第二个测试是测试字符串是否是给定列表的成员。由于它不完全等于列表的任何成员,因此第二个测试返回false。
答案 2 :(得分:4)
这是正确的行为,因为:
>>>'410.9'=='410.9 '
>>>False
当您为某个项目的成员资格列表清单时,您实际上正在做类似的事情:
...
for item in A_LIST:
if item == '410.9':
return True
...