作者perturb (背後有老板)
看板Python
標題Re: [問題] 想請教一個問題
時間Thu Feb 10 19:18:50 2011
參考apua的做法稍加改變滿足DP1010以輸出重復最大值的位置
>>> L = ['369','638','724','920','14','50','11','65', '920', '920']
>>> Li = zip(L, range(len(L)))
>>> Li.sort(key=lambda x:int(x[0]), reverse=True)
>>> print [x[1] for x in Li[:5]]
※ 引述《apua (Apua)》之銘言:
: ※ 引述《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,參考看看
: ['920', '724', '638', '369', '200', '180', '116', '90', '65', '50', '14', '11']
: [7, 6, 5, 0, 1]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 162.105.195.208
推 DP1010:Li.sort那裡會出現'zip' object has no attribute 'sort' 02/10 23:08
推 cccx:DP1010你的Python版本是? 02/10 23:21
推 DP1010:3.1版的 02/10 23:39
→ apua:Python3的話就把第二行改成Li=[i for i in zip(.....)] 02/11 15:07
→ apua:就可以跑了~ 02/11 15:07