题目:写一个函数,接受一个整数列表作为参数,返回列表中所有偶数的平均值。
def average_of_even_numbers(numbers):
"""
返回列表中所有偶数的平均值
:param numbers: 整数列表
:return: 平均值
"""
even_numbers = [number for number in numbers if number % 2 == 0]
if len(even_numbers) == 0:
return None
else:
return sum(even_numbers) / len(even_numbers)
这道题是一个简单的函数编写题,主要考察对列表的处理和函数的定义与返回值的理解。
首先,我们需要定义一个函数,接受一个整数列表作为参数,计算出列表中所有偶数的平均值,并将结果返回。在函数内部,我们可以通过列表推导式筛选出所有的偶数,并计算它们的平均值。当列表中没有偶数时,我们可以返回None表示无法计算平均值。
```python
def average_of_even_numbers(numbers):
"""
返回列表中所有偶数的平均值
:param numbers: 整数列表
:return: 平均值
"""
# 首先筛选出所有的偶数
even_numbers = [number for number in numbers if number % 2 == 0]
# 如果列表中没有偶数,返回None
if len(even_numbers) == 0:
return None
# 否则计算偶数的平均值并返回
else:
return sum(even_numbers) / len(even_numbers)
在函数内部,我们使用了列表推导式筛选出所有的偶数,然后通过Python内置的sum()函数和len()函数计算平均值。注意,如果列表中没有偶数,则返回None。
下面是使用示例:
>>> average_of_even_numbers([1, 2, 3, 4, 5, 6])
3.0
>>> average_of_even_numbers([1, 3, 5, 7])
None
在第一个示例中,函数返回了列表中所有偶数的平均值3.0。在第二个示例中,由于列表中没有偶数,函数返回了None。
```
不知道你这个问题是否已经解决, 如果还没有解决的话:#法一
source_list=[1,2,3,4,5,6,2,3,4,2,2,1,6,5,5]
new_list = {}.fromkeys(source_list)
#法二
new_list = []
[new_list.append(i) for i in source_list if not i in new_list]
def calc_mean_even_numbers(num_list):
"""
计算整数列表中所有偶数平均值
参数:
----------
num_list : list[int]
整数列表
返回值:
-------
float
整数列表中所有偶数的平均值
"""
even_nums = []
for num in num_list:
if num % 2 == 0:
even_nums.append(num)
if len(even_nums) == 0:
return 0.0
else:
return sum(even_nums) / len(even_nums)
该函数接受一个整数列表作为参数,使用一个for循环遍历整数列表,找出其中的所有偶数,最后计算所有偶数的平均值并返回。如果整数列表中不存在偶数,则返回0.0。函数的docstring中包含了参数和返回值的具体说明,使得该函数的使用和维护更加方便。