在单词列表中查找字符

时间:2017-06-04 23:11:25

标签: python

我正在尝试在单词列表中找到特定字符,然后打印所有匹配的单词。例如,我有一个6个单词的列表。我想找到一种方法来选择所有带有('。')(fullstop)的单词并将它们转移到另一个列表。

示例:

List ['alpha', 'bravo', 'charlie.', 'delta', 'echo']

我希望找到查理及其在名单中的位置

我大多只需要if语句 提前谢谢!

这是我到目前为止所拥有的

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

4 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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)))

答案 2 :(得分:1)

如果你想要它没有列表理解:

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

此外,如果您使用的是Python 2.7,请使用raw_inputinput用于Python 3。

答案 3 :(得分:1)

知道字符是否在python中的字符串中的常用方法是“in”

'.' in "charlie."

将返回True。

要知道列表中元素的位置,可以使用enumerate(list)进行迭代,并返回一对(index,value)。

获取索引列表和包含'。'的字符串你可以做这样的角色:

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