2013-03-23 88 views
-3
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。到目前为止,它没有返回任何东西。查找列表中的字符python

+1

这是一种尚不清楚,但你为什么不只是检查'如果名称row'? – jamylak 2013-03-23 05:18:25

+0

检查发现,还抛出什么 – Josh123 2013-03-23 05:21:02

+1

能否请您发布的内容的文件看起来像 – jamylak 2013-03-23 05:21:50

回答

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' 
+0

我建议,以及显然它不'帮助他 – jamylak 2013-03-23 05:34:01