2016-05-17 137 views
-1

我做了一個函數,它從一個文件中取出包含string's'的文字'ifile'將它們移動到'ofile'
它完美的作品。我只需要幫助排序現在ofilelexicographical命令中的單詞。按照字典順序排列一個

這裏是我的代碼:

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)) 
相關問題