我有一个列表,其中每个元素都是列表中的单个数字。如何提取数字?

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] 如何修复我的代码?

Sor*_*ary 5

您几乎是正确的,但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)