在Python中,函数可以通过多种方式返回多个值。以下是几种常见的方法:
返回元组
使用逗号分隔多个值,函数将返回一个元组。
def calculate_area_and_perimeter(length, width):area = length * widthperimeter = 2 * (length + width)return area, perimeter
返回列表
如果需要返回多个值,也可以将它们包装成列表后返回。
def sum_and_avg(lst):sum_val = 0count = 0for e in lst:if isinstance(e, (int, float)):count += 1sum_val += ereturn sum_val, sum_val / count
序列解包
可以使用序列解包功能直接使用多个变量接收函数返回的多个值。
s, avg = sum_and_avg(my_list)

返回命名元组
使用`collections.namedtuple`可以创建带有名称的元组,使得代码更具可读性。
from collections import namedtupleResult = namedtuple('Result', ['sum', 'avg'])def sum_and_avg(lst):sum_val = 0count = 0for e in lst:if isinstance(e, (int, float)):count += 1sum_val += ereturn Result(sum=sum_val, avg=sum_val / count)
返回字典
如果返回的值有键值对的关系,可以使用字典。
def filter_list(lst):sum_ge_13 = 0sum_le_97 = 0for e in lst:if 13 <= e <= 97:sum_ge_13 += eif e > 0:sum_le_97 += ereturn sum_ge_13, sum_le_97
使用这些方法,你可以根据需要灵活地返回多个值。希望这些信息对你有所帮助,
