2013-09-26 43 views
0

對於我的英語不好,表示抱歉。我還在學習。 我想在文本文件列表中找到一個項目,但只想顯示以項目字母開頭的項目。在文本文件中查找項目,但僅顯示以輸入字母開頭的項目

例如,我有字符串「勇者無懼」和文本文件包含:

ballena 
avispa 
avestruz 
miesta 
moe 
abeja 
bullterrier 

,並希望只顯示爲「A」開頭的那些話:

avispa 
abeja 
avestruz 

和然後,那些具有「m」個

miesta 
moe 

直到開始到達「阿米斯特德」

的端部

我一直在試圖用一個列表,到目前爲止,我得到這個:

lista = ['avispa', 'abeja', 'avestruz', 'ballena', 'bisonte', 'bullterrier'] 
for item in lista: 
    if item.find("a") != -1: 
     print(item) 

但這打印所有包含一個「一」字。我只想要那些以它開頭的人。 而不是在列表中,但在文件中。 對不起,我的英語。 希望能幫助我。由於

回答

0

嘗試startswith方法:

lista = ['avispa', 'abeja', 'avestruz', 'ballena', 'bisonte', 'bullterrier'] 
for item in lista: 
    if item.startswith("a"): 
     print(item) 

我想我現在明白了。你想迭代'amistad'並檢查每個字母開頭的所有單詞嗎?也許是這樣的:

lista = ['avispa', 'abeja', 'avestruz', 'ballena', 'bisonte', 'bullterrier'] 
for letter in "amistad" 
    for item in lista: 
     if item.startswith(letter): 
      print(item) 
+0

謝謝。現在我得到了這個... with open('d:\ lista.txt','r')inF: b = input(輸入字:') for b中的字母: forF inF: 如果item.startswith(letter): print(item) 如果我輸入「zucaritas」,只打印那些在「z」開頭的字母,而不是其他字母。我能做什麼?順便說一下,我是一個Python初學者。 感謝 – user2558831

+0

評論中的代碼太多。需要線程。試一試你有什麼並開始一個新的線程?如果我們對你需要的東西進行了排序,你應該接受一個答案不過,我並不確定。 – erewok

+0

謝謝。它適用於startswith方法。 – user2558831

0
lista = ['avispa', 'abeja', 'avestruz', 'ballena', 'bisonte', 'bullterrier','miesta','moe'] 
for item in lista: 
    for letter in list("amistad"): 
     if item[0] == letter: 
      print(item) 

如果你想利用你輸入的文件,再看看如何使用F =開放(「file.txt的」,R),讀取行,並增加每行都寫到你的列表中。

相關問題