2013-01-18 38 views

回答

3

是的,它可以。

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

sorted給你一個排序列表,並[2:]是一個列表slice

+0

感謝這將工作 –

+0

,並感謝離開/ 1 lol –

3

,可以試試這個:

qAvg=sum(sorted(qList)[2:])/(len(qList)-2) 
+0

+1看着變量名稱! –

+0

@downvoter關心你解釋你的系列downvotes? –

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 
+0

他想要更少的線條,而不是更多。 –

+1

@frb:少線並不總是Pythonic。 – Abhijit

+0

@frb這並不是一個好主意。 OP並不總是知道什麼是好主意,雖然我覺得這個答案可以使用更多的解釋和比較作爲一種方法,但它是有效的。 –

相關問題