Python中计算列表平均值的函数可以通过自定义一个函数来实现。下面是一个简单的示例:
def average(lst):
return sum(lst) / len(lst) if lst else 0
# 示例使用
numbers = [10, 20, 30, 40, 50]
print("平均值是:", average(numbers))
sum
函数会抛出类型错误。可以通过添加类型检查来解决这个问题:def average(lst):
if not lst:
return 0
num_list = [i for i in lst if isinstance(i, (int, float))]
return sum(num_list) / len(num_list) if num_list else 0
这样,函数就会忽略非数值元素,只计算数值元素的平均值。
def average(lst):
if not lst:
return 0
num_list = [i for i in lst if isinstance(i, (int, float))]
return sum(num_list) / len(num_list) if num_list else 0
# 测试用例
print(average([1, 2, 3, 4, 5])) # 输出: 3.0
print(average([])) # 输出: 0
print(average([1, 'a', 3])) # 输出: 2.0
通过这种方式,可以确保即使在面对复杂或不规范的数据时,函数也能正确地计算平均值。
领取专属 10元无门槛券
手把手带您无忧上云