在Python中查找列表中的字符

-3 投票
1 回答
3495 浏览
提问于 2025-04-17 20:02
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'

撰写回答