作者apua (Apua)
看板Python
標題Re: [問題] 想請教一個問題
時間Tue Feb 8 22:09:21 2011
※ 引述《DP1010 (DP)》之銘言:
: 現在有一個list
: 假設長這樣 ['369','200','116','90','180','638','724','920','14','50','11','65']
: 我現在想要找出這list裡面數字的最大5個
: 其依序的"位置"為何
: 比如這個list最大的數字 依序為 920 724 638 369 200
: 其依序的位置為 7 6 5 0 1
: 想請教各位大大要怎麼做
: 謝謝
使用Python2.7,參考看看
>>> L = ['369','200','116','90','180','638','724','920','14','50','11','65']
>>> S = L[:]
>>> S.sort(key=int, reverse=True) #用整數去比較,由大到小排序
>>> S
['920', '724', '638', '369', '200', '180', '116', '90', '65', '50', '14', '11']
>>> print [L.index(k) for k in S[:5]]
[7, 6, 5, 0, 1]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.196.65
推 DP1010:請問那如果數字有重複的話 這樣會抓到第一個出現的數字兩次 02/10 18:17
→ DP1010:不會抓到兩個 這樣要怎麼辦??? 02/10 18:18
→ apua:那得先問,把上述狀況做修改,假如第七和第六的值一樣, 02/11 14:58
→ apua:你希望得到的答案是76501還是67501? 02/11 14:59
→ apua:另外,如果最大的六個值都一樣,那要抽哪五個為答案? 02/11 14:59