从python中的列表中删除dict结构

时间:2017-03-25 13:34:40

标签: python list dictionary data-structures type-conversion

假设我有一个类似这样的词典列表:

自我= [{x:' 1'},{x:' 7'},{x:' 8'},{x:&# 39; 9'},{x:' 1'},{x:' 4'},{x:' 7'},{x: ' 7'},{x:' 7'},{x:' 7'}]

我想要删除所有dict结构并仅保留其元素,最终得到如下所示的列表:

[1,7,8,9,1,4,7,7,7,7]

python中有没有支持它的功能?

2 个答案:

答案 0 :(得分:1)

您可以这样做:

lst = [ {'x': '1'}, {'x': '7'}, {'x': '8'}, {'x': '9'}, {'x': '1'}, {'x': '4'}, {'x': '7'}, {'x': '7'}, {'x': '7'}, {'x': '7'} ]
print([int(a.get('x')) for a in lst])

这将导致:

[1, 7, 8, 9, 1, 4, 7, 7, 7, 7]

注意,列表中的字典的密钥为 'x' ,而不是 x < / strong>如问题所述。

答案 1 :(得分:0)

您也可以使用地图功能

a = [{'x': '1'}, {'x': '7'}, {'x': '8'}, {'x': '9'}, {'x': '1'}, {'x': '4'}, {'x': '7'}, {'x': '7'}, {'x': '7'}, {'x': '7'}]

b = list(map(lambda e: e['x'], a))

print (b)

结果:

['1', '7', '8', '9', '1', '4', '7', '7', '7', '7']