我正在尝试在单词列表中找到特定字符,然后打印所有匹配的单词。例如,我有一个6个单词的列表。我想找到一种方法来选择所有带有('。')(fullstop)的单词并将它们转移到另一个列表。
示例:
List ['alpha', 'bravo', 'charlie.', 'delta', 'echo']
我希望找到查理及其在名单中的位置
我大多只需要if语句 提前谢谢!
这是我到目前为止所拥有的
sent = str(input('enter sentance '))
words = sent.split()
print (words)
答案 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_input
,input
用于Python 3。
答案 3 :(得分:1)
知道字符是否在python中的字符串中的常用方法是“in”
'.' in "charlie."
将返回True。
要知道列表中元素的位置,可以使用enumerate(list)进行迭代,并返回一对(index,value)。
获取索引列表和包含'。'的字符串你可以做这样的角色:
[(pos, word) for pos, word in enumerate(list) if '.' in word]