【问题标题】:Search a word in a dictionary在字典中搜索一个词
【发布时间】:2014-04-13 17:11:40
【问题描述】:

我想输入一个字母,我想返回包含该字母的所有单词。例如:

String: "I saw a frog in my garden"
input: g
output: frog, garden

如何在 Python 中做到这一点?

【问题讨论】:

    标签: python string search


    【解决方案1】:

    我不知道你在说什么关于字典的内容(你可能会误解它们)- 但我会在 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']
    

    这似乎是你想要的。

    【讨论】:

    • 字典中有拆分的内容。我想在那个字典里搜索哪个单词有字母“g”
    • @Pnelson 我不明白。你能扩展你的问题吗?
    • 我想输入一个字母,我想返回所有包含该字母的单词。
    【解决方案2】:

    知道列表代表哪个字母非常有用:

    contains = {}
    contains[letter] = [w for w in String.split() if letter in w]
    

    【讨论】:

      【解决方案3】:

      我假设您已将字符串拆分为单词列表,并使用这些单词作为键创建了字典。鉴于此,以下函数接受一个字典和一个字符,并返回该字典中具有该字符的键列表:

      def keys_have_char(dict, char):
          return [key for key in dict.keys() if char in key]
      

      请注意,我没有添加任何检查,因此假设 dict 确实是一个字典,并且不仅适用于单个字符,还适用于任何子字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-19
        • 1970-01-01
        • 2019-02-12
        • 2014-11-07
        • 2014-02-27
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        相关资源
        最近更新 更多