【问题标题】:how to search inside dictionaries wrapped in a list [duplicate]如何在包含在列表中的字典中搜索[重复]
【发布时间】:2021-11-02 11:58:12
【问题描述】:

我们在一个列表中有很多字典

例如:

    list=[
  {"name": "Tom", "age": 10},
  {"name": "Sara", "age": 11},
  {"name": "Mark", "age": 5},
  {"name": "Pam", "age": 7}
]

如何在“name”(或任何其他字符序列)中搜索“ar”字符? 我的意思是我怎样才能用“ar”只检索“name” 换句话说,如何在 python 中的列表中搜索字典?

【问题讨论】:

标签: python-3.x list dictionary


【解决方案1】:

你可以像if "ar" in "Sara"一样使用if <substring> in <string>

暗示你的例子:

for i in range(len(list)):
    if "ar" in list[i]["name"]:
        # here you are

【讨论】:

    【解决方案2】:

    可以使用python的字符串.find方法:

    list=[
       {"name": "Tom", "age": 10},
       {"name": "Sara", "age": 11},
       {"name": "Mark", "age": 5},
       {"name": "Pam", "age": 7}
    ]
    
    stringToFind = "ar"
    
    for dic in list:
        if dic.keys()[0].find(stringToFind) !== -1:
            #dict key contains the "ar" string
        else:
            #dict key does not contain the "ar" string
    

    【讨论】:

      【解决方案3】:

      看起来很简单:

      listy_list = [
        {"name": "Tom", "age": 10},
        {"name": "Sara", "age": 11},
        {"name": "Mark", "age": 5},
        {"name": "Pam", "age": 7}
      ]
      
      res = [mappy for mappy in listy_list if 'ar' in mappy['name']]
      
      res
      # [{'name': 'Sara', 'age': 11}, {'name': 'Mark', 'age': 5}]
      

      【讨论】:

        猜你喜欢
        • 2018-09-13
        • 2014-12-14
        • 2021-09-03
        • 1970-01-01
        • 2016-02-22
        • 2019-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多