2017-06-04 68 views
1

我試圖在單詞列表中找到特定的字符,然後打印所有匹配的單詞。例如,我有一個6字的列表。我想找到一種方法來選擇所有帶有('。')(fullstop)的單詞並將它們轉移到另一個列表中。查找單詞列表中的某個字符

例子:

​​

我想它找到查理和它的位置在列表中

我大多隻是需要if語句,它 提前感謝!

這是我迄今爲止

sent = str(input('enter sentance ')) 
words = sent.split() 
print (words) 
+0

'List [alpha,bravo,charlie,delta,echo]'是無效的Python代碼。我想也許'阿爾法','布拉沃','charlie.','delta'和'echo'應該用引號括起來?而'List'應該可以是'list'? – Chris

+0

只是一個簡單的例子,並不意味着實際的代碼更多僞代碼 – Holy

+0

僞代碼只在清楚時纔有用。 (清晰是它的目的。)在這種情況下,使用實際的Python代碼可能會更好。 – Chris

回答

1

sent = input('Enter sentence > ') 
words = sent.split() 
for word in words: 
    if "." in word: 
     print(word) 

而且,如果你使用Python 2.7,請使用raw_input,input代替Python 3.

+0

這就是它eric,不錯的一個,再加上一個:) –

1

如果你想它沒有列表理解,你可以試試這個(對於Python 2.7)

sent = raw_input('enter sentance ') 


lista = ['alpha', 'bravo', 'charlie.', 'delta', 'echo'] 

res = [i for i in lista if (sent in i)][0] 

print(str(res) + "is at index " + str(lista.index(res))) 
3

假設你有一個列表l = ['alpha', 'bravo', 'charlie.', 'delta', 'echo'] 然後你可以創建一個包含所有單詞的列表「」在它做過濾象下面這樣:

l = ['alpha', 'bravo', 'charlie.', 'delta', 'echo'] 
list_with_dot = [x for x in l if x.find('.') != -1] 
+0

yeeeeah ...喜歡這麼多,非常漂亮的吉普賽人。這對我來說是一個加號 –

1

的常用方法知道如果一個字符是Python中的字符串是「中」

'.' in "charlie." 

將返回True。

要知道一個元素的,你可以使用迭代枚舉(列表)並返回一對(指數值)列表中的位置。

獲取索引列表和具有'。'的字符串。你可以這樣做:

[(pos, word) for pos, word in enumerate(list) if '.' in word] 
+0

這是正確的Unaipg,加上一個男孩;) –

相關問題