在Python中,函数可以通过多种方式返回多个值。以下是几种常见的方法:
返回元组
使用逗号分隔多个值,函数将返回一个元组。
def calculate_area_and_perimeter(length, width):
area = length * width
perimeter = 2 * (length + width)
return area, perimeter
返回列表
如果需要返回多个值,也可以将它们包装成列表后返回。
def sum_and_avg(lst):
sum_val = 0
count = 0
for e in lst:
if isinstance(e, (int, float)):
count += 1
sum_val += e
return sum_val, sum_val / count
序列解包
可以使用序列解包功能直接使用多个变量接收函数返回的多个值。
s, avg = sum_and_avg(my_list)
返回命名元组
使用`collections.namedtuple`可以创建带有名称的元组,使得代码更具可读性。
from collections import namedtuple
Result = namedtuple('Result', ['sum', 'avg'])
def sum_and_avg(lst):
sum_val = 0
count = 0
for e in lst:
if isinstance(e, (int, float)):
count += 1
sum_val += e
return Result(sum=sum_val, avg=sum_val / count)
返回字典
如果返回的值有键值对的关系,可以使用字典。
def filter_list(lst):
sum_ge_13 = 0
sum_le_97 = 0
for e in lst:
if 13 <= e <= 97:
sum_ge_13 += e
if e > 0:
sum_le_97 += e
return sum_ge_13, sum_le_97
使用这些方法,你可以根据需要灵活地返回多个值。希望这些信息对你有所帮助,