2016-05-17 9 views
-1

のファイルからstring's'を含む単語を取り込み、それらを'ofile'に移動する機能を作成しました。
これは完全に動作します。 ofileにある単語を並べ替えるのには、lexicographicalオーダーに手伝ってください。ここで辞典を辞書順に並べ替え

は私のコードです:

def getListContain(s,ifile,file): 

newline= '' 
for word in ifile: 
    if word.find(s) != -1: 
     ofile.write(newline + word.strip()) 
     newline = '\n' 
+0

これは実際に使用しているコードですか?関数を呼び出すコードを表示できますか? –

+0

ああ、私は単なるファイルオブジェクトを繰り返してそれから行を取り出すことができないことを知りませんでした。私は今あなたの質問に答えようとします。 –

答えて

0

あなたは、単に行う辞書順に文字列のリストをソートするに:

listOfStrings.sort() 

だからあなたの場合には、それは次のようになります。

def getListContain(s,ifile,file): 
    listOfStrings = [] 
    for word in ifile: 
     if word.find(s) != -1: 
      listOfStrings.append(word.strip()+'\n') 
    listOfStrings.sort() 
    for item in listOfStrings: 
     ofile.write(item)   #Based on your code, i'm assuming that 'ofile' is defined outside the function. 
0

1-単語をリストに追加します。

2リストをソートします。

3リストをファイルに書き込みます。

word_list = [] 
for word in ifile: 
    if word.find(s) != -1: 
     word_list.append(word.strip()) 
word_list = sorted(word_list) 
ofile.write("\n".join(word_list)) 
関連する問題