问题描述
我想使用列表推导将以上内容隐藏到元组列表中,但是元组中每个字典只有一个子集。
来源
source = [
{'gem': 'gold','dimensions': {"weight":120,"height":0,"color":240},'shine': '90','worth': 10000},{'gem': 'diamond','dimensions': {"weight":80,"height":20,"color":10},'shine': '190','worth': 5000}
...
]
从上面的来源看,列表一旦完成就应该像这样:
[(120,240),(80,10) ]
列表中的每个元组都基于Source中匹配索引处的dict,但是只有部分嵌套dict被选中以包含在类型中:
所需数据集
[(dimensions.weight,dimensions.color),...]
我已经尝试了几种不同的方法,但是不能超出此范围:
[g["dimensions"] for g in source]
产生
[{"weight":120,{"weight":80,"color":10}]
解决方法
您是如此亲密,只需指定要包含在元组中的值
[(g["dimensions"]["weight"],g["dimensions"]["color"]) for g in source]