【发布时间】:2014-04-13 17:11:40
【问题描述】:
我想输入一个字母,我想返回包含该字母的所有单词。例如:
String: "I saw a frog in my garden"
input: g
output: frog, garden
如何在 Python 中做到这一点?
【问题讨论】:
我想输入一个字母,我想返回包含该字母的所有单词。例如:
String: "I saw a frog in my garden"
input: g
output: frog, garden
如何在 Python 中做到这一点?
【问题讨论】:
我不知道你在说什么关于字典的内容(你可能会误解它们)- 但我会在 split 上添加单词,然后检查字母是否在每个单词中,在 list comprehension 中。
>>> String = "I saw a frog in my garden"
>>> letter = 'g'
>>> [w for w in String.split() if letter in w]
['frog', 'garden']
这似乎是你想要的。
【讨论】:
知道列表代表哪个字母非常有用:
contains = {}
contains[letter] = [w for w in String.split() if letter in w]
【讨论】:
我假设您已将字符串拆分为单词列表,并使用这些单词作为键创建了字典。鉴于此,以下函数接受一个字典和一个字符,并返回该字典中具有该字符的键列表:
def keys_have_char(dict, char):
return [key for key in dict.keys() if char in key]
请注意,我没有添加任何检查,因此假设 dict 确实是一个字典,并且不仅适用于单个字符,还适用于任何子字符串。
【讨论】: