python比较列表中的字符串与以\ r \ n开头的项目

时间:2016-11-15 11:44:51

标签: python string python-2.7 compare

好的,让我说我有一个清单。

l = ['a', '\r\nb']

要搜索的已知项目。

search = 'b'

如果我输入

search in l

返回False。但如果我输入。

for item in l:
    search in item

我会收到

False
True

后一个对我有意义,因为'b'位于'\r\nb'。但是为什么在'b'

中{0}为什么不是['a', '\r\nb']

2 个答案:

答案 0 :(得分:1)

因为在第一种情况下(search in l),它会尝试使用您的list字词找到search的任何元素的完全匹配。

当你尝试以递归的方式遍历每个元素并匹配它在该元素中找到它所找到的元素时。

答案 1 :(得分:1)

因为您的列表项目是' a'和' \ r \ n',当你在列表中搜索时,它会比较每个项目==' b'及其错误。

' B'是列表中第二项的子字符串。 ' B'在' \ r \ nb'是TRUE(你的第二次测试),因为它搜索子串' b'在' \ r \ n'