2013-03-23 87 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