在Python中查找列表中的字符
def find_friend(filename, name):
lists = open(filename, 'Ur')
name1 = set(lists)
for row in lists:
if name in name1:
print row
else:
print 'friend does not exist'
我想要的结果是打开一个列表,在这个列表里搜索一个字符,然后返回这个字符的详细信息。比如说,如果我在 [(a,b,c,d),(e,f,g,h)]
这个列表里搜索 a
,那么应该返回 a,b,c,d
。但是到现在为止,它什么都没有返回。
1 个回答
1
你最大的麻烦是,for row in lists
这行代码其实不会遍历任何东西(因为你在调用 set
的时候,已经把文件读完了)。我觉得如果你去掉那一行(然后检查 name in row
),你的代码应该会好很多。
def find_friend(filename, name):
lists = open(filename, 'Ur')
for row in lists:
if name in row:
print row
else:
print 'friend does not exist'