首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

在Python中,可以使用sorted()函数对列表进行排序,并使用enumerate()函数获取排序后的元素的原始索引。

下面是一个示例代码:

代码语言:txt
复制
def sort_with_original_index(lst):
    sorted_lst = sorted(enumerate(lst), key=lambda x: x[1])
    original_index = [x[0] for x in sorted_lst]
    return original_index

# 示例用法
my_list = [5, 2, 9, 1, 7]
result = sort_with_original_index(my_list)
print(result)

输出结果为:[3, 1, 0, 4, 2],表示原始列表中的元素按升序排序后的索引顺序。

解释代码的工作原理:

  1. enumerate(lst)函数将列表lst转换为一个包含索引和元素的元组列表。
  2. sorted()函数根据元组列表中的元素进行排序,使用lambda x: x[1]作为排序的关键字,表示按元组的第二个元素进行排序。
  3. 排序后的元组列表存储在sorted_lst变量中。
  4. 使用列表推导式[x[0] for x in sorted_lst]提取排序后的元组列表中的索引部分,得到原始索引列表original_index
  5. 返回original_index作为结果。

需要注意的是,以上代码只是对列表进行简单的升序排序,并获取排序后的原始索引。如果需要进行其他类型的排序,可以根据具体需求修改sorted()函数的关键字参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券