![](/img/trans.png)
[英]python filtering list of dict by dict containing several key-value pairs as conditions
[英]Python list comprehension for list of dictd into a list of tuple with a subset of dict key-value pairs
我想使用列表推导将上述内容转换为元组列表,但元组中只有每个字典的一个子集。
来源
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, "height":0, "color":240}, {"weight":80, "height":20, "color":10}]
你太接近了,只需要指定要包含在元组中的值
[(g["dimensions"]["weight"], g["dimensions"]["color"]) for g in source]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.