了解查找数字中位数的函数中的 return 语句
Understanding return statement in the function finding the median of numbers
我有这个功能:
def median(numbers):
middle = int(len(numbers)/2)
return numbers[middle]
print(median([4, 5, 6, 7, 8]))
这行的写法让我有点迷惑:
return numbers[middle]
如果我没记错的话 returns 输入数字在列表中的顺序。
有没有不同的方式来阅读这一行?
numbers[middle]
是列表的切片,其中 returns 位于 middle
位置的元素。它 returns 一个元素,位于 middle
索引处,从 0 开始。
这是评价:
middle = int(len(numbers)/2)
middle = int(5/2)
middle = int(2.5) # or int(2) depending on Python version
middle = 2
numbers[middle]
numbers[2]
6
middle
对应于 numbers
列表中间的索引。要找到列表的中位数,您可以尝试先使用 numbers.sort()
对其进行排序,如下所示:
def median(numbers):
numbers.sort()
middle = int(len(numbers)/2)
return numbers[middle]
例如,如果 numbers = [1,2,3,4,5,6]
,len(numbers)
将计算为 6,将其减半为 3 以定义 middle
索引。鉴于此并且知道 python 列表起始索引为 0,行 return numbers[middle]
将 return 第四个元素,即 4.
我有这个功能:
def median(numbers):
middle = int(len(numbers)/2)
return numbers[middle]
print(median([4, 5, 6, 7, 8]))
这行的写法让我有点迷惑:
return numbers[middle]
如果我没记错的话 returns 输入数字在列表中的顺序。
有没有不同的方式来阅读这一行?
numbers[middle]
是列表的切片,其中 returns 位于 middle
位置的元素。它 returns 一个元素,位于 middle
索引处,从 0 开始。
这是评价:
middle = int(len(numbers)/2)
middle = int(5/2)
middle = int(2.5) # or int(2) depending on Python version
middle = 2
numbers[middle]
numbers[2]
6
middle
对应于 numbers
列表中间的索引。要找到列表的中位数,您可以尝试先使用 numbers.sort()
对其进行排序,如下所示:
def median(numbers):
numbers.sort()
middle = int(len(numbers)/2)
return numbers[middle]
例如,如果 numbers = [1,2,3,4,5,6]
,len(numbers)
将计算为 6,将其减半为 3 以定义 middle
索引。鉴于此并且知道 python 列表起始索引为 0,行 return numbers[middle]
将 return 第四个元素,即 4.