目录
Convert a list of floats to a list of integers in Python
在 Python 中将浮点数列表转换为整数列表
将浮点数列表转换为整数列表:
- 使用列表理解来遍历列表。
- 使用该类
int()
将当前浮点数转换为整数。 - 新列表将仅包含整数值。
list_of_floats = [1.23, 3.45, 5.67] result = [int(item) for item in list_of_floats] print(result) # 👉️ [1, 3, 5]
我们使用
列表理解来迭代浮点数列表。
在每次迭代中,我们将当前的 float 值传递给
int类以将其转换为整数。
新列表仅包含整数值。
使用 round() 将浮点数列表转换为整数列表
您还可以使用该round()
函数将每个浮点数四舍五入为最接近的整数。
list_of_floats = [1.23, 3.45, 5.67] result = [round(item) for item in list_of_floats] print(result) # 👉️ [1, 3, 6]
round函数采用以下 2 个参数:
姓名 | 描述 |
---|---|
number |
ndigits 要舍入到小数点后精度的数字 |
ndigits |
小数点后的位数,运算后的数字应该有(可选) |
该函数返回四舍五入到小数点后的精度的round
数字。ndigits
如果ndigits
省略,函数返回最接近的整数。
print(round(3.45)) # 👉️ 3 print(round(3.55)) # 👉️ 4
使用 math.ceil 将浮点数列表转换为整数列表
如果您需要向上舍入,请使用该math.ceil()
方法。
import math list_of_floats = [1.23, 3.45, 5.67] result = [math.ceil(item) for item in list_of_floats] print(result) # 👉️ [2, 4, 6]
math.ceil方法返回大于或等于提供的数字的最小整数。
print(math.ceil(3.01)) # 👉️ 4 print(math.ceil(3.99)) # 👉️ 4
使用 math.floor 将浮点数列表转换为整数列表
如果需要向下舍入,请使用math.floor()
方法。
import math list_of_floats = [1.23, 3.45, 5.67] result_4 = [math.floor(item) for item in list_of_floats] print(result_4) # 👉️ [1, 3, 5]
math.floor方法返回小于或等于提供的数字的最大整数。
print(math.floor(4.999)) # 👉️ 4 print(math.floor(4.001)) # 👉️ 4
或者,您可以使用该map()
功能。
使用以下方法将浮点数列表转换为整数列表map()
这是一个三步过程:
- 将
round()
函数和列表传递给函数map()
。 - 该
map()
函数会将每个浮点数传递给该round()
函数。 - 使用该类
list()
将map
对象转换为列表。
list_of_floats = [2.4, 3.5, 6.7, 8.1] new_list = list(map(round, list_of_floats)) # 👇️ [2, 4, 7, 8] print(new_list)
map ()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
map()
函数调用round()
函数将列表中的每个浮点数和每个值四舍五入。最后一步是使用list()
类将map
对象转换为列表。
该类list()
接受一个可迭代对象并返回一个列表对象。
您选择哪种方法是个人喜好的问题。我会选择列表理解,因为我发现它更直接、更容易阅读。
在 Python 中将整数列表转换为浮点数列表
将整数列表转换为浮点数列表:
- 使用列表理解来遍历列表。
- 使用该类
float()
将每个整数转换为浮点数。 - 新列表将只包含浮点数。
list_of_integers = [3, 5, 7, 9] new_list = [float(item) for item in list_of_integers] # 👇️ [3.0, 5.0, 7.0, 9.0] print(new_list)
我们使用列表理解来迭代整数列表。
在每次迭代中,我们将整数传递给
float()类以将其转换为浮点数。
新列表将仅包含浮点值。
或者,您可以使用该map()
功能。
使用 map() 将整数列表转换为浮点数列表
这是一个三步过程:
- 将
float()
类和列表传递给函数map()
。 - 该
map()
函数将float()
使用列表中的每个项目调用该类。 - 使用该类
list()
将map
对象转换为列表。
list_of_integers = [3, 5, 7, 9] new_list = list(map(float, list_of_integers)) # 👇️ [3.0, 5.0, 7.0, 9.0] print(new_list)
该map()
函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
float()
传递列表中的每个整数并将每个值转换为浮点数。最后,我们使用list()
类将map
对象转换为列表。
该类list()
接受一个可迭代对象并返回一个列表对象。
# for
使用循环将整数列表转换为浮点数列表
您还可以使用for 循环将整数列表转换为浮点数列表。
list_of_integers = [3, 5, 7, 9] new_list = [] for item in list_of_integers: new_list.append(float(item)) print(new_list) # 👉️ [3.0, 5.0, 7.0, 9.0]
在循环的每次迭代中for
,我们将当前项转换为浮点数并将结果附加到新列表。
# 使用 NumPy 将整数列表转换为浮点数列表
这是一个两步过程:
- 将列表和浮点数据类型传递给该
numpy.array()
方法。 - 可选择将 NumPy 数组转换为列表。
import numpy as np list_of_integers = [3, 5, 7, 9] new_list = list( np.array(list_of_integers, dtype=np.float32) ) # 👇️ [3.0, 5.0, 7.0, 9.0] print(new_list)
您可以通过运行以下命令来安装 NumPy 。
pip install numpy # 👇️ or with pip3 pip3 install numpy
numpy.array
方法从提供的对象创建一个数组。
dtype
参数设置为np.float32
以指定数组中元素的所需数据类型。最后(可选)步骤是使用该类list()
将 NumPy 数组转换为列表对象。
该类list()
接受一个可迭代对象并返回一个列表对象。
# 额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: