【问题标题】:python: search in list of lists of dictionariespython:在字典列表列表中搜索
【发布时间】:2022-11-12 02:22:32
【问题描述】:

我想遍历字典列表列表:

data = [
    {'name': 'sravan'},
    {'name': 'bobby'},
    {'name': 'ojsawi', 'number': '123'},
    {'name': 'rohith', 'number': '456'},
    {'name': 'gnanesh', 'number': '123'}
]

此外,我想检查每个条目是否有值为123 的键号。 如果是这样,我想将此条目的名称值附加到新列表中 在上述情况下,这将是 'ojsawi''gnanesh'。 否则,我想在新列表中附加 0 。

这意味着,带有附加值的最终 new_list 应如下所示: new_list = {0, 0, 'ojsawi', 0, 'gnanesh'}

我已经尝试过使用 2D for loops 和 lambdas 等的不同版本/可能性,但我认为主要问题是列表的大小不同。任何帮助/提示将不胜感激。

【问题讨论】:

    标签: python list dictionary search


    【解决方案1】:

    您可以使用带有嵌套 if/else 的列表推导来定义它:

    new_list = [x.get('name') if x.get('number') == '123' else 0 for x in data]
    

    输出:

    [0, 0, 'ojsawi', 0, 'gnanesh']
    

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      相关资源
      最近更新 更多