繁体   English   中英

将 dictd 列表的 Python 列表理解为具有 dict 键值对子集的元组列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM