python - 如何返回仅包含小数点后第二位的 python 列表?
问题描述
我有以下值列表:
value_list=[2.5655665, 3.151498745, 3.1, 0.9999999999]
我需要更新这个列表,只保留小数点后第二位。我希望结果是:
print(value_list)
[2.56, 3.15, 3.1, 0.99]
我尝试使用传递参数 2 的 round() 方法只保留小数点后第二位。如下:
value_list.round(2)
但是,出现错误消息:
AttributeError: 'list' object has no attribute 'round'
我尝试将 value_list 转换为数组类型,如下所示:
import numpy as np
value_list = np.array(value_list).round(2)
这样它可以工作,但它返回一个数组,我需要返回类型为列表。如何返回仅包含小数点后第二位的列表?
解决方案
您可以使用 map 并应用您认为合适的任何功能:
value_list=[2.5655665, 3.151498745, 3.1, 0.9999999999]
value_rounded = list(map(lambda x: float(format(x, '.2f')), value_list))
value_truncated = list(map(lambda x: float(str(x)[:str(x).index('.')+3]), value_list))
print(value_rounded)
print(value_truncated)
两种情况的输出:
[2.57, 3.15, 3.1, 1.0]
[2.56, 3.15, 3.1, 0.99]
推荐阅读
- reactjs - Material UI:功能组件中的复选框,我错过了什么吗?
- sql - 从两个表中计数
- flutter - Google Places 自动完成不显示结果
- objective-c - 如何在目标 c 中提取 NALU 单元?我想复制代码十六进制值 00000001 67 后面的所有字节
- angular - 如何在 Angular 中使用模板文字和 *ngFor 创建动态 html 模板
- ios - UITableView 无法正常工作,因为最后几行隐藏在屏幕后面并且没有出现
- php - 更新大型数据集
- android - getIpAddress() 返回 0.0.0.0。在android studio中。为什么?
- excel - 如何使用格式化指数和分数的 oMaths 创建 Word VBA 方程?
- python - 如何在 Google Drive Api v3 中进行部分下载?