2017-04-12 14 views
0

私は与えられたファイルの入出力をテストしています。各ファイルには文字列が含まれており、そのファイル内で 's'を検索し、そのファイル内のsの位置の順序付きリストを返します。この関数は場所を指定していません。代わりに、行全体を指定しています。どうして? **ファイル検索機能が場所を返しませんか?

def locate(filename,s): 
    lookfor=s 
    new_list=[] 
    with open(filename) as my_file: 
     for num, line in enumerate(my_file): 
      if lookfor in line: 
       new_list.append(num) 
     new_list.sort() 
     return new_list 
+2

'ソート()'動作します**インプレース:

は、ここに私の関数です。したがって、2つのステートメント、 'new_list.sort()'と 'return new_list'を書いてください。 –

+0

[list.sort()が返されるのはなぜですか?リストが返されないのはなぜですか?](http://stackoverflow.com/questions/7301110/why-does-return-list-sort-return-none-リストではない) –

+0

複製を修正しました。私は2つの発言をしたが、私はまだ間違った出力を得ている。更新された質問をご覧ください。 –

答えて

0
def locate(filename,s): 
    lookfor=s 
    new_list=[] 
    with open(filename) as my_file: 
     for num, line in enumerate(my_file,1): 
      if lookfor in line: 
       new_list.append(num) 
     new_list.sort() 
     return new_list 
関連する問題