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

列表排序后如何保存原始索引?

在列表排序后保存原始索引的方法有多种,以下是其中两种常见的方法:

  1. 使用元组列表:可以创建一个元组列表,其中每个元组包含原始列表中的元素和其对应的索引。然后,对该元组列表进行排序,以获得排序后的列表。这样,可以通过访问元组列表中的索引来获取原始列表中元素的原始索引。

示例代码:

代码语言:txt
复制
# 原始列表
original_list = [5, 2, 8, 1, 9]

# 创建元组列表
tuple_list = [(value, index) for index, value in enumerate(original_list)]

# 根据元素排序元组列表
sorted_list = sorted(tuple_list)

# 输出排序后的列表和原始索引
for item in sorted_list:
    print("元素:", item[0], "原始索引:", item[1])

推荐的腾讯云相关产品:无

  1. 使用字典:可以创建一个字典,其中键为原始列表中的元素,值为其对应的索引。然后,对原始列表进行排序,并使用字典来获取每个元素的原始索引。

示例代码:

代码语言:txt
复制
# 原始列表
original_list = [5, 2, 8, 1, 9]

# 创建字典
index_dict = {value: index for index, value in enumerate(original_list)}

# 对原始列表进行排序
sorted_list = sorted(original_list)

# 输出排序后的列表和原始索引
for item in sorted_list:
    print("元素:", item, "原始索引:", index_dict[item])

推荐的腾讯云相关产品:无

以上是两种常见的方法,可以根据具体需求选择适合的方法来保存原始索引。

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

相关·内容

Python要如何实现(列表排序

排序,是许多编程语言中经常出现的问题。同样的,在Python中,如何是实现排序呢?...(以下排序都是基于列表来实现) 一、使用Python内置函数进行排序 Python中拥有内置函数实现排序,可以直接调用它们实现排序功能 Python 列表有一个内置的 list.sort() 方法可以直接修改列表...还有一个 sorted() 内置函数,它会从一个可迭代对象构建一个新的排序列表。...它的实现思想是:相邻的两个元素进行比较,然后把较大的元素放到后面(正向排序),在一轮比较完最大的元素就放在了最后一个位置,像鱼儿在水中吐的气泡在上升的过程中不断变大, def bubble_sort(...在第一部分排序完成,再将这个最后元素插入到已排好序的第一部分中 def insert_sort(list): count = len(list) for i in range(1, count

79920

Solidity 优化 - 如何维护排序列表

在上一篇文章[6]中,我们讨论了(可以在每个元素上迭代的数据结构)如何列表中添加元素或从列表中删除元素。这篇文章将扩展我们的数据结构,以维护链上已排序的链表。...与普通的可迭代映射有所不同的是,我们需要在正确的索引处插入新项目,而不是在列表的前面添加以维持我们的排序。 ?...显示如何将Dave插入维护的排序列表中 为了使代码易于阅读,我们创建了 2 个辅助函数来查找和验证新值的索引。 _verifyIndex 函数用于验证该值在左右地址之间。...此代码确保我们可以肯定地找到有效的索引 ? 查找索引 addStudent 在有效索引地址插入新项目,更新分数并增加 listSize。 ?...主要思想是我们将旧项目临时删除,然后将其添加到新(或相同)索引中,该索引应具有新值,因此我们可以重复使用添加/删除函数。 ? 显示如何更新鲍勃的分数 ?

1.3K30

如何学Python 第七课 列表型变量 列表方法 列表索引

我们今天来说点流程控制之外的东西:列表列表型变量可以在变量下存储多个值,并以索引的方式来控制每个值。 Python的列表可以放下各种各样类型的值。无论那是字符、字符串或者是另一个列表。...变量test现在就自动成为了列表型变量。 索引 有些同学可能就会发问了。一个变量对应了多个值,那我们是如何找到test变量下的每一个具体的值的呢?很简单,列表型变量通过‘值’在列表中的位置进行定位。...‘值在列表中的位置’就是索引。每个索引都指向唯一的一个值。索引从0开始计数,然后是1,2,……这样。所以,test[0]对应着值”Null”,test[1]对应着值”-”。这很符合常识。 ?...我们可以对每个列表中的值进行操作,也可以把它们揉在一起操作: ? 好了,到目前为止,你应该知道什么叫做列表型变量,以及如何找到这个列表下面的每一个值。...Insert方法接收两个参数,第一个参数是我们想要在列表的那个索引位置上进行插入,第二个是我们想要插入的值。我再次强调,列表索引值是从0开始的。。。

1.5K70

分库分表如何设计索引?全局索引、二级索引

大家好,我是小富~ 分布式数据库架构下,索引的设计也需要做调整,否则无法充分发挥分布式架构线性可扩展的优势。今天我们就来聊聊 “在分布式数据库架构下,如何正确的设计索引?”...讲到这儿,我们已经说明白了“自增主键”的所有问题,那么该如何设计主键呢?...AND o_orderkey = 1 这个例子是将一条 SQL 语句拆分成 2 条 SQL 语句,但是拆分的 2 条 SQL 都可以通过分片键进行查询,这样能保证只需要在单个分片中完成查询操作。...因此,最优的设计,不是创建一个索引表,而是将分片键的信息保存在想要查询的列中,这样通过查询的列就能直接知道所在的分片信息。...UUID 的全局唯一设计,避免局部索引导致的唯一问题; 分布式数据库唯一索引若不是分片键,则可以在设计时保存分片信息,这样查询直接路由到一个分片即可; 对于分布式数据库中的全局表,可以采用冗余机制,在每个分片上进行保存

98530

单片机异常复位如何保存变量数据

目录 1、理论 2、实践 ---- 1、理论 众所周知,单片机复位变量数值会自动初始化,以华大半导体HC32L136为例,具有 7 个复位信号来源,每个复位信号都可以让 CPU 重新运行,绝大多数寄存器会被复位到复位值...本篇博客主要讲授华大半导(STM32、C51等单片机均可适用)复位(以看门狗复位为例)变量数据保存的方法。...cou_num @0x20000000; 2、实践 实践描述:使用__no_init属性创建一个变量cou_num,其将数据存储在SRAM中,每隔300毫秒自加1并通过串口打印输出数值,当检测到上电复位和按键复位,...///< WDT初始化 App_WdtInit(); ///< 启动 WDT Wdt_Start(); ///< 当上电复位或者RESET脚复位cou_num...(1) { cou_num = cou_num + 1; delay1ms(300); ///< 开启喂狗

99530

python字典排序列表排序、升序、降序、逆序如何区别使用?

列表、元组、字符串这类的序列的索引默认第一个元素的索引从0开始,第二个元素的索引是1,依次是2、3、4... 字典的索引则直接由键来决定值,键可以是字符串、元组、数字,依次对应到相应的值。...列表排序 举例: 列表是 list1=[4,22,5,7,3,2,723,88] 使用 sorted(list1) 排序默认得到升序的结果[2, 3, 4, 5, 7, 22, 88, 723]...这类的sorted函数时候,直接返回一个列表,可以再使用一个变量来存储这个排序的返回结果。...以下代码逆序返回一个对象: reversed(list1) 对象的结果显示一个内存的位置, 转为列表的代码如下:...转换的结果如下: {'d3': 50, 'd2': 40, 'd1': 30} 三、本教程源码 list1=[7,2,5,88,33,55,66] #升序排序,从小到大 list2asc=sorted

73930
领券