gpt4 book ai didi

python - 如何在python中对列表进行排序后获取原始索引

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:34 24 4
gpt4 key购买 nike

我有一个列表如下。

mylist= [0.0, 0.4, 0.81, 1.0, 0.9, 20.7, 0.0, 0.8, 1.0, 20.7]

我想获取列表中前 4 个元素的索引(即 [5, 9, 3, 8] )并删除值小于或等于 1 的索引( <=1 )。

因此我的最终输出应该是 [5, 9]

我目前的代码如下:

sorted_mylist = sorted(mylist, reverse = True)[:4]
for ele in sorted_mylist:
if ele>1:
print(mylist.index(ele))

但是,它返回 [5, 5] ,这是不正确的。

请告诉我如何在 python 中解决这个问题?

最佳答案

你应该使用 enumerate

mylist= [0.0, 0.4, 0.81, 1.0, 0.9, 20.7, 0.0, 0.8, 1.0, 20.7]

indices = [index for index, value in sorted(enumerate(mylist), reverse=True, key=lambda x: x[1]) if value > 1][:4]
# [5, 9]

关于python - 如何在python中对列表进行排序后获取原始索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com