如何从字典列表中提取特定值?

时间:2020-07-21 13:36:42

标签: python-3.x list dictionary types

我正在尝试提取“ 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的值?

谢谢。

1 个答案:

答案 0 :(得分:2)

您有一个列表列表,每个列表包含一个字典。因此,只需浏览列表,选择第一个元素(字典),然后选择// Mixin @mixin transform($transforms...) { // combine the passed transforms into a space separated list $transform-list: join($transforms, null, space); // print out the transforms -webkit-transform: $transform-list; -moz-transform: $transform-list; -ms-transform: $transform-list; -o-transform: $transform-list; transform: $transform-list; } // Include span::before { @include transform( rotate(90deg), translate(0,9px), // ... add more transforms if you need ); } // CSS output span::before { -webkit-transform: rotate(90deg) translate(0, 9px); -moz-transform: rotate(90deg) translate(0, 9px); -ms-transform: rotate(90deg) translate(0, 9px); -o-transform: rotate(90deg) translate(0, 9px); transform: rotate(90deg) translate(0, 9px); } 字段即可。

将列表设置为变量'Alt_name',可以使用List Comprehension找到所需的输出:

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'}
]