在 Python 中将浮点数列表转换为整数列表

目录

Convert a list of floats to a list of integers in Python

  1. 在 Python 中将浮点数列表转换为整数列表
  2. 在 Python 中将整数列表转换为浮点数列表

在 Python 中将浮点数列表转换为整数列表

将浮点数列表转换为整数列表:

  1. 使用列表理解来遍历列表。
  2. 使用该类int()将当前浮点数转换为整数。
  3. 新列表将仅包含整数值。
主程序
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()

这是一个三步过程:

  1. round()函数和列表传递给函数map()
  2. map()函数会将每个浮点数传递给该round()函数。
  3. 使用该类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 中将整数列表转换为浮点数列表

将整数列表转换为浮点数列表:

  1. 使用列表理解来遍历列表。
  2. 使用该类float()将每个整数转换为浮点数。
  3. 新列表将只包含浮点数。
主程序
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() 将整数列表转换为浮点数列表

这是一个三步过程:

  1. float()类和列表传递给函数map()
  2. map()函数将float()使用列表中的每个项目调用该类。
  3. 使用该类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 将整数列表转换为浮点数列表

这是一个两步过程:

  1. 将列表和浮点数据类型传递给该numpy.array()方法。
  2. 可选择将 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()接受一个可迭代对象并返回一个列表对象。

# 额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: