作者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
1F:推 DP1010:Li.sort那里会出现'zip' object has no attribute 'sort' 02/10 23:08
2F:推 cccx:DP1010你的Python版本是? 02/10 23:21
3F:推 DP1010:3.1版的 02/10 23:39
4F:→ apua:Python3的话就把第二行改成Li=[i for i in zip(.....)] 02/11 15:07
5F:→ apua:就可以跑了~ 02/11 15:07