作者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
1F:推 DP1010:请问那如果数字有重复的话 这样会抓到第一个出现的数字两次 02/10 18:17
2F:→ DP1010:不会抓到两个 这样要怎麽办??? 02/10 18:18
3F:→ apua:那得先问,把上述状况做修改,假如第七和第六的值一样, 02/11 14:58
4F:→ apua:你希望得到的答案是76501还是67501? 02/11 14:59
5F:→ apua:另外,如果最大的六个值都一样,那要抽哪五个为答案? 02/11 14:59