好的,让我说我有一个清单。
l = ['a', '\r\nb']
要搜索的已知项目。
search = 'b'
如果我输入
search in l
返回False
。但如果我输入。
for item in l:
search in item
我会收到
False
True
后一个对我有意义,因为'b'
位于'\r\nb'
。但是为什么在'b'
['a', '\r\nb']
答案 0 :(得分:1)
因为在第一种情况下(search in l
),它会尝试使用您的list
字词找到search
的任何元素的完全匹配。
当你尝试以递归的方式遍历每个元素并匹配它在该元素中找到它所找到的元素时。
答案 1 :(得分:1)
因为您的列表项目是' a'和' \ r \ n',当你在列表中搜索时,它会比较每个项目==' b'及其错误。
' B'是列表中第二项的子字符串。 ' B'在' \ r \ nb'是TRUE(你的第二次测试),因为它搜索子串' b'在' \ r \ n'