在 Python 中将元组中的每个元素除以一个数字
Divide each element in a tuple by a number in Python
要将元组中的每个元素除以一个数字:
- 使用生成器表达式迭代元组。
- 在每次迭代中,将当前元组元素除以数字。
- 使用
tuple()
该类将生成器对象转换为元组。
主程序
my_tuple = (8, 12, 20) # ✅ divide each element in tuple by number new_tuple = tuple(item / 2 for item in my_tuple) print(new_tuple) # 👉️ (4.0, 6.0, 10.0) # -------------------------------------- # ✅ divide each element in tuple by number using floor division new_tuple_2 = tuple(item // 2 for item in my_tuple) print(new_tuple_2) # 👉️ (4, 6, 10)
我们使用生成器表达式迭代元组。
生成器表达式用于对每个元素执行一些操作,或者选择满足条件的元素子集。
在每次迭代中,我们将当前数字除以不同的数字并返回结果。
最后一步是将generator
对象传递给tuple()
类。
元组类接受一个可迭代对象并返回一个tuple
对象。
您可能还会在网上看到使用列表理解而不是生成器表达式的示例。
主程序
my_tuple = (8, 12, 20) # ✅ divide each element in tuple by number new_tuple = tuple([item / 2 for item in my_tuple]) print(new_tuple) # 👉️ (4.0, 6.0, 10.0)
列表推导还用于对每个元素执行某些操作,或选择满足条件的元素子集。
但是,没有必要使用列表理解,因为无论如何我们都必须将列表转换为元组。
如果您需要将元组中的每个元素除以一个数字而没有余数,请使用 floor 除法//
运算符。
主程序
my_tuple = (8, 12, 20) new_tuple_2 = tuple(item // 2 for item in my_tuple) print(new_tuple_2) # 👉️ (4, 6, 10)
整数除法/
产生一个浮点数,而//
整数除法产生一个整数。
floor()
使用 floor 除法运算符的结果是对结果应用函数的数学除法。
主程序
my_num = 50 print(my_num / 5) # 👉️ 10.0 (float) print(my_num // 5) # 👉️ 10 (int)
使用楼层除法就像将
math.floor方法应用于结果。
该方法返回小于或等于提供的数字的最大整数。
主程序
import math result_1 = math.floor(25 / 4) print(result_1) # 👉️ 6 result_2 = 25 / 4 print(result_2) # 👉️ 6.25
元组与列表非常相似,但实现的内置方法较少并且是不可变的(无法更改)。
将元组中的每个元素除以数字的唯一方法是创建一个包含除法结果的新元组。
使用生成器表达式的另一种方法是使用map()
函数。
主程序
my_tuple = (8, 12, 20) new_tuple = tuple(map(lambda item: item / 2, my_tuple)) print(new_tuple) # 👉️ (4.0, 6.0, 10.0)
map()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
该map()
函数调用lambda
元组中的每个元素,lambda 将元素除以2
。
最后一步是使用tuple()
类将map
对象转换为元组。