2017-06-04 69 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,加上一个男孩;) –

相关问题