【问题标题】:Python read dict values from lists?Python 从列表中读取字典值?
【发布时间】:2022-11-28 09:37:43
【问题描述】:

在 python 中我有:

my_dict = dict({'98:1E:19:7E:8F:30': ['SAGEMCOM BROADBAND SAS', '22'], '98:1E:19:7E:8F:32': ['SAGEMCOM BROADBAND SAS1']})

并想生成所有值的列表,所以我尝试了:

[[sub_val for sub_val in val] for val in my_dict.values()]

但这给了我:

[['SAGEMCOM BROADBAND SAS', '22'], ['SAGEMCOM BROADBAND SAS1']]

而我想要:

['SAGEMCOM BROADBAND SAS', '22', 'SAGEMCOM BROADBAND SAS1']

我所做的有什么问题

【问题讨论】:

    标签: python python-3.x list


    【解决方案1】:

    您可以使用嵌套列表理解来展平值:

    my_dict = dict({'98:1E:19:7E:8F:30': ['SAGEMCOM BROADBAND SAS', '22'], '98:1E:19:7E:8F:32': ['SAGEMCOM BROADBAND SAS1']})
    
    
    [val for sublist in my_dict.values() for val in sublist]
    # ['SAGEMCOM BROADBAND SAS', '22', 'SAGEMCOM BROADBAND SAS1']
    

    【讨论】:

      【解决方案2】:

      您可以在列表理解中使用额外的 for 子句来遍历子列表:

      [value for values in my_dict.values() for value in values]
      

      【讨论】:

      • 你假设每个列表只有一个项目......
      猜你喜欢
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 2016-01-10
      • 2011-11-08
      相关资源
      最近更新 更多