首页 > 解决方案 > 如何从字典列表中提取特定值?

问题描述

我正在尝试提取“Alt_name”的值并需要将其存储为列表。

输入:

[
 [{'Name': 'Selin', 'Age': '31', 'Active': 'true', 'Items': '4', 'Alt_name': 'selin-hub', 'type': 'Normal', 'Colour':'Blue'}],
 [{'Name': 'Jenny', 'Age': '21', 'Active': 'true', 'Items': '2', 'Alt_name': 'jenny-cean', 'type': 'Normal', 'Colour': 'green'}],
 [{'Name': 'Vuly', 'Age': '20', 'Active': 'true', 'Items': '3', 'Alt_name': 'clary', 'type': 'Normal'}] 
]

预期输出:

 ['selin-hub','jenny-cean','clary']

如何从上述输入中提取 Alt_name 的值?

提前致谢。

标签: python-3.xlistdictionarytypes

解决方案


您有一个列表列表,每个列表都包含一个字典。因此,只需浏览列表,选择第一个元素(字典),然后选择'Alt_name'字段。

将列表设置为变量l,您可以使用列表理解找到所需的输出:

[d[0]['Alt_name'] for d in l]

如果您可以修改此列表,您可能会考虑将其设置为字典列表,即:

l = [
    {'Name': 'Selin', 'Age': '31', 'Active': 'true', 'Items': '4', 'Alt_name': 'selin-hub', 'type': 'Normal', 'Colour':'Blue'},
    {'Name': 'Jenny', 'Age': '21', 'Active': 'true', 'Items': '2', 'Alt_name': 'jenny-cean', 'type': 'Normal', 'Colour': 'green'},
    {'Name': 'Vuly', 'Age': '20', 'Active': 'true', 'Items': '3', 'Alt_name': 'clary', 'type': 'Normal'}
]

在这种情况下,您可以通过编写获得所需的输出

[d['Alt_name'] for d in l]

推荐阅读