我是Python 初学者,我有一个 list .它是这样的:

my_list=[
     {"first":"1"}, 
     {"second": "2"}, 
     {"third": "1"}, 
     {"four": "5"}, 
     {"five":"5"}, 
     {"six":"9"},
     {"seven":"7"}
    ]

我想提取这个列表中的单一值. 我编写了以下代码:

values = []

for element in my_list:
    val = list(element.values())
    values.append(val)

print(values)

以下是我的输出:

[['1'], ['2'], ['1'], ['5'], ['5'], ['9'], ['7']]

我只想让价值数字出现在我的列表中.[1,2,1,5,5,9,7] 我如何修复我的代码?

推荐答案

你几乎是正确的,但list(element.values())给了你一个列表,你不想追加the list itself,而是它里面唯一的一项.订阅也是如此:

values.append(val[0])

或者您可以使用.extend()而不是.append():

values.extend(val)

如果我要写这篇文章,我会这样做:

print([list(d.values())[0] for d in my_list])
print([next(iter(d.values())) for d in my_list])

Python相关问答推荐

使用新的类型语法正确注释ParamSecdecorator (3.12)

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

在Pandas DataFrame操作中用链接替换'方法的更有效方法

为什么这个带有List输入的简单numba函数这么慢

Python+线程\TrocessPoolExecutor

如何根据一列的值有条件地 Select 前N组?

UNIQUE约束失败:customuser. username

Pandas GroupBy可以分成两个盒子吗?

名为__main__. py的Python模块在导入时不运行'

如何在FastAPI中为我上传的json文件提供索引ID?

为什么if2/if3会提供两种不同的输出?

基于行条件计算(pandas)

未调用自定义JSON编码器

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

Python—在嵌套列表中添加相同索引的元素,然后计算平均值

如何关联来自两个Pandas DataFrame列的列表项?

如何在Quarto中的标题页之前创建序言页

Scipy.linprog的可行性有问题吗?(A_ub@x0<;=b_ub).all()为True-但是-linprog(np.zeros_like(X0),A_ub=A_ub,b_ub=b_ub)不可行

Django-修改后的管理表单返回对象而不是文本

401使用有效的OAuth令牌向Google Apps脚本Web App发出POST请求时出现未经授权的错误(";