Python:(sub)字符串等价与列表快速成员资格测试

chr*_*ris 4 python

有人可以向我解释以下内容(python 2.7)

来自解析文件的两个字符串数字:

'410.9''410.9'(注意尾随空格)

A_LIST = ['410.9 ']

'410.9' in '410.9 '
True

'410.9' in A_LIST
False
Run Code Online (Sandbox Code Playgroud)

解决这个问题没问题 - 只是试着理解为什么会这样.

谢谢!

小智 7

in使用两个字符串检查或子字符串,而in使用列表检查成员资格.

你想要的是什么 [x for x in A_LIST if '419' in x]


mur*_*d99 5

第一个测试是测试第一个字符串是否是第二个字符串的子字符串,第二个测试是测试字符串是否是给定列表的成员.由于它不完全等于列表的任何成员,因此第二个测试返回false.