我有这个功能:
def median(numbers):
middle = int(len(numbers)/2)
return numbers[middle]
print(median([4, 5, 6, 7, 8]))
这行的写作风格让我有些困惑:
return numbers[middle]
如果我没记错的话,它会在列表中返回输入数字的顺序。
有没有其他方法可以读取此行?
答案 0 :(得分:1)
apigeetool createProduct \
--approvalType "auto" \
--environments ${APIGEE_ENVIRONMENT} \
--proxies income_prediction \
--productName "income_prediction_trial" \
--productDesc "Free trial API for income prediction." \
--quota 10 \
--quotaInterval 1 \
--quotaTimeUnit "day"
是列表的切片,它将返回位于Error: Create Product failed with status code 403
位置的元素。它返回一个元素,该元素从0开始在numbers[middle]
索引处。
答案 1 :(得分: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
答案 2 :(得分:0)
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]
将返回第四个元素,即4。