【发布时间】:2021-12-07 10:12:47
【问题描述】:
我的问题: 我有一个看起来像这样的嵌套字典:
my_dict = {
'type_1' : {
'id1' : some_item,
'id2' : some_item_2,
},
'type_2' :{
'id3' : some_item3,
'id4' : some_item4,
}
}
我不打算在这些 sub_dicts 中添加更多嵌套,所以我认为这应该相当容易。
现在我想在一个列表中获取所有内部键(以“id”开头的所有内容),
这样我就得到了['id1', 'id2', 'id3', 'id4]
简单的方法是使用两个 for 循环,但我希望它尽可能简洁。
我的初始方法如下所示:all_keys = [list(sub_dict.keys()) for sub_dict in my_dict.values()] 输出[['id1', 'id2'], ['id3', 'id4']] 这是我想要到达的一半。
在list(sub_dict(keys)) 前面添加星号会引发语法错误:
“可迭代解包不能用于理解”
知道如何在一个未嵌套列表中获取所有“id”字符串,最多增加一行代码吗?
【问题讨论】:
标签: python list dictionary nested list-comprehension