Pre*_*erk 2 python dictionary list
我是一个Python初学者,我有一个清单。事情是这样的:
my_list=[
{"first":"1"},
{"second": "2"},
{"third": "1"},
{"four": "5"},
{"five":"5"},
{"six":"9"},
{"seven":"7"}
]
Run Code Online (Sandbox Code Playgroud)
我想提取该列表的单个值。我写了下面一段代码:
values = []
for element in my_list:
val = list(element.values())
values.append(val)
print(values)
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
[['1'], ['2'], ['1'], ['5'], ['5'], ['9'], ['7']]
Run Code Online (Sandbox Code Playgroud)
我只希望值数字出现在我的列表中。[1,2,1,5,5,9,7] 如何修复我的代码?
您几乎是正确的,但list(element.values())
给了您一个列表,您不想附加列表本身,而是附加其中的唯一项目。所以进行订阅:
values.append(val[0])
Run Code Online (Sandbox Code Playgroud)
或者你可以使用.extend()
代替.append()
:
values.extend(val)
Run Code Online (Sandbox Code Playgroud)
如果我要写这个,我会做以下其中一项:
print([list(d.values())[0] for d in my_list])
print([next(iter(d.values())) for d in my_list])
Run Code Online (Sandbox Code Playgroud)