0

我想找到不包括前两个值的列表的总和:

values.remove(min(values))

values.remove(min(values))

avg = sum(values) / len(values)

有没有更简单的方法来做到这一点?

4

3 回答 3

3

可以试试这个:

qAvg=sum(sorted(qList)[2:])/(len(qList)-2)
于 2013-01-18T12:23:52.063 回答
3

是的,可以。

qAvg = sum(sorted(qList)[2:])/1

sorted给你一个排序列表,并且[2:]是一个列表切片

于 2013-01-18T12:23:33.480 回答
0

根据您打算实现的目标,您还可以期待使用 heapq 模块

>>> qList = [randint(1,100) for _ in range(10)]
>>> import heapq
>>> heapq.heapify(qList)
>>> sum(heapq.nsmallest(len(qList) - 2, qList))/(len(qList) - 2)
50
于 2013-01-18T12:27:07.653 回答