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

Python:按大小对列表列表进行排序(反转)并存储原始索引

Python中可以使用sorted()函数对列表进行排序。为了按照列表元素的大小进行排序,可以使用key参数来指定排序的依据。同时,为了存储原始索引,可以使用enumerate()函数来获取每个元素的索引。

下面是一个示例代码:

代码语言:txt
复制
def sort_list(lst):
    sorted_lst = sorted(enumerate(lst), key=lambda x: x[1])
    sorted_indices = [index for index, _ in sorted_lst]
    sorted_values = [value for _, value in sorted_lst]
    return sorted_values, sorted_indices

# 示例用法
my_list = [5, 2, 8, 1, 9]
sorted_values, sorted_indices = sort_list(my_list)
print("按大小排序后的列表:", sorted_values)
print("原始索引:", sorted_indices)

输出结果为:

代码语言:txt
复制
按大小排序后的列表: [1, 2, 5, 8, 9]
原始索引: [3, 1, 0, 2, 4]

在这个示例中,sort_list()函数接受一个列表作为参数,并使用sorted()函数对列表进行排序。key参数使用了一个lambda函数,该函数返回元组(index, value)中的第二个元素value,即按照列表元素的大小进行排序。enumerate()函数用于获取每个元素的索引和值,并将它们组成一个元组的列表。最后,通过列表推导式将排序后的索引和值分别存储在sorted_indicessorted_values中,并作为函数的返回值。

对于这个问题,腾讯云提供了多种适用于云计算的产品和服务,例如:

  1. 云服务器(CVM):提供可扩展的计算能力,适用于各种应用场景。产品介绍链接
  2. 云数据库 MySQL 版(CDB):提供高性能、可扩展的关系型数据库服务。产品介绍链接
  3. 云原生容器服务(TKE):用于部署、管理和扩展容器化应用程序的托管服务。产品介绍链接
  4. 人工智能平台(AI Lab):提供丰富的人工智能开发工具和服务,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  5. 物联网套件(IoT Hub):用于连接、管理和控制物联网设备的云服务。产品介绍链接
  6. 移动推送服务(信鸽):提供移动应用消息推送的云服务。产品介绍链接
  7. 对象存储(COS):提供安全、可靠、低成本的云存储服务。产品介绍链接
  8. 腾讯云区块链服务(TBaaS):提供基于区块链技术的可信共享账本服务。产品介绍链接

以上是腾讯云提供的一些与云计算相关的产品和服务,可以根据具体需求选择适合的产品。

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

相关·内容

python列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法

本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过列表里的元素大小排序进行阐述。...if arr[x] > arr[y]: # 让arr[x]和arr列表中每一个元素比较,找出小的 arr[x], arr[y] = arr...它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。...每一相邻元素作同样的工作,从开始第一到结尾的最后一。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。...插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置插入。 插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。 1.

1.7K30

Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数容器进行排序 | 使用 list.sort 函数列表进行排序 | 设置排序函数 )

一、列表排序 1、使用 sorted 函数容器进行排序 在之前的博客 【Python】数据容器总结 ② ( 数据容器元素排序 | 字符串大小比较 | 字符大小比较 | 长短一样的字符串大小比较 | 长短不一样的字符串大小比较..., 可以完成对 列表 容器的排序 , 同时还可以指定排序规则 ; list.sort 方法 会修改原始列表返回 None ; list.sort 函数 基本语法如下 : list.sort(key=...Process finished with exit code 0 3、使用 list.sort 函数列表进行排序 - 设置排序函数 list.sort 函数 的 key 参数 , 需要传入一个排序函数...如果没有指定 key 比较函数 , 则默认元素的值进行比较 ; 下面的代码中 , 要比较的列表容器是 : # 要排序列表容器 lst = [["Tom", 18], ["Jerry", 12], [...; 返回的 比较值 应该是与 列表元素相关 , 一般是由列表元素 经过一系列计算得到 ; 如果没有指定 key 比较函数 , 则默认元素的值进行比较 ; 该排序函数 , 可以指定为一个 lambda

26310

关于“Python”的核心知识点整理大全5

3.3.1 使用方法 sort()列表进行永久性排序 Python方法sort()让你能够较为轻松地列表进行排序。假设你有一个汽车列表,并要让其 中的汽车字母顺序排列。...) 同样,列表元素排列顺序的修改是永久性的: ['toyota', 'subaru', 'bmw', 'audi'] 3.3.2 使用函数 sorted()列表进行临时排序 要保留列表元素原来的排列顺序...函数 sorted()让你能够特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。 下面尝试汽车列表调用这个函数。...然而, 大多数排序方式都基于本节介绍的知识。 3.3.3 倒着打印列表反转列表元素的排列顺序,可使用方法reverse()。...3.5 小结 在本章中,你学习了:列表是什么以及如何使用其中的元素;如何定义列表以及如何增删元 素;如何列表进行永久性排序,以及如何为展示列表进行临时排序;如何确定列表的长度, 以及在使用列表时如何避免索引错误

12610

python set 排序_如何在Python中使用sorted()和sort()

编号进行排序   1.2   字符串进行排序   二   Python排序中遇到的限制和陷阱   2.1   无法具有不可比数据类型的列表用sorted函数排序   2.2   当你在对字符串进行排序时...排序对于应用程序中的用户体验至关重要,无论是按时间戳用户的最新活动进行排序,还是姓氏的字母顺序放置电子邮件收件人列表。...一、   使用sorted()函数进行排序   1.1   编号进行排序   您可以使用Python中的sorted()列表进行排序。  ...2.2   当你在对字符串进行排序时,注意大小写          sorted()可用于字符串列表,以升序进行排序,默认情况下字母顺序排列:    >>> names = ['Harry',...现在,负责处理结果数据的尽职的程序员看到了这个列表,知道前5名最快的参与者是获得奖品的获胜者,剩下的参赛者将最快的时间排序。       各种属性多种类型的排序没有要求。 该清单大小合理。

4K40

Python排序傻傻分不清?一文看透sorted与sort用法

排序数字型数据 可以使用Python通过sorted()列表进行排序。...此示例说明了排序的一个重要方面:排序稳定性。在Python中,当你相等的值进行排序时,它们将在输出中保留其原始顺序。即使1移动,所有其他值都相等,它们保持相对于彼此的原始顺序。...当排序字符串时,大小写很重要 sorted()可用于字符串列表,以升序进行排序,默认情况下字母顺序排列: >>> names = ['Harry', 'Suzy', 'Al', 'Mark']...列表中每个元素的长度由len确定,然后以升序返回。 回到前面的例子,当大小写不同时第一个字母排序。...赛事中没有提到通过不同属性进行多类型的排序要求,也没有提到将列表在某处存储,只需按持续时间排序获取持续时间最短的五个参与者: >>> runners.sort(key=lambda x: getattr

11.2K10

python列表类型

中的列表是一个序列,其内元素是索引顺序进行存储的,可以进行索引取值、切片等操作。...前者直接在L1的原始地址内进行修改,后者新创建一个列表对象拷贝原始L1列表。但实际上,性能的差距是微乎其微的,前面说过列表中保存的是元素的引用,所以拷贝也仅仅只是拷贝一些引用,而非实际数据对象。...列表是序列,序列类型的每个元素都是索引位置进行存放的,所以可以通过索引的方式取得列表元素: >>> L = [1,2,3,4,5] >>> L[0] 1 >>> L = [ ......', 'Go'] 在python 3.x中,sort()和sorted()不允许包含不同数据类型的列表进行排序。...学过其他语言的人,估计已经想到了,解析过程中各元素的表达式操作类似于回调函数。其实在python中有一个专门的map()函数,它以第一个参数作为回调函数,返回一个可迭代对象。

1.1K20

Python 基础一 (列表

>>> '点赞', '在看' in studio ('点赞', True) 索引和切片 列表是有序的序列,所以每一个数据都有唯一应的索引值。第一个元素对应的索引值是0,和字符串是一样的 ?...且内存中存储lt2值的原始块不变 >>> lt2 = ['关注', ['未点赞', '数据STUDIO', '收藏']] >>> lt2 ['关注', ['未点赞', '数据STUDIO', '收藏']...注意下面的例子中,函数外部定义的列表在函数内部的修改是如何影响到函数外部的。函数中的参数指向内存中存储list1值的原始块(id未改变)。...该方法会返回这个删除的元素 删 list.remove(要删除的元素) 元素删除列表中元素 ---- del del 列表名[要删除元素的索引值], 根据下标进行删除 不加索引直接删除列表 >>>...cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序

67710

使用PythonExcel数据进行排序,更高效!

标签:Python与Excel,pandas 表排序是Excel中的一项常见任务。我们对表格进行排序,以帮助更容易地查看或使用数据。...然而,当你的数据很大或包含大量计算时,Excel中的排序可能会非常慢。因此,这里将向你展示如何使用PythonExcel数据表进行排序保证速度和效率!...但是,注意,由于默认情况下inplace=False,此结果数据框架不会替换原始df。 图2 索引对表排序 我们还可以升序或降序对表进行排序。...图3 指定列排序 我们已经看到了如何索引排序,现在让我们看看如何单个列排序。让我们购买日期对表格进行排序。默认情况下,使用升序,因此我们将看到较早的日期排在第一位。...当然,我们可以通过指定ascending=False来反转该表。 图4 多列排序 我们还可以多列排序。在下面的示例中,首先顾客的姓名进行排序,然后在每名顾客中再次“购买物品”进行排序

4.4K20

python编程从入门到实践 学习笔记

1访问列表元素 列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。 索引从0 而不是1 开始。 将索引指定为-1,可让Python返回最后一个列表元素。...只需在括号中指定要删除的元素的索引即可,如a.pop(2); 根据值删除元素,使用方法remove()删除指定值的元素,如a.remove('abc') 4排序 使用方法sort()列表进行永久性排序...,按照字母顺序排序,例如a.sort(); 如果与字母顺序相反的顺序排列,则使用a.sort(reverse=True) 使用函数sorted()列表进行临时排序,同时不影响它们在列表中的原始排列顺序...结合使用函数和while 循环 将函数存储在模块中,再导入整个模块。 from a import b as c,从a.py中引入函数b,给函数b一个别名c。...如果你编写了处理该异常的代码,程序将继续运行;如果你未异常进行处理,程序将停止,显示一个traceback,其中包含有关异常的报告。 异常是使用try-except代码块处理的。

4.1K20

变量、简单数据类型、列表

列表: 列表让你能够在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素。列表由一些列特定顺序排列的元素组成。...使用方法sort( )列表进行永久性排序:永久性地修改了列表中元素的排列顺序,再也无法恢复到原来的排列顺序。...使用函数sorted( )列表进行临时排序:要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted( )函数。...sorted( )函数让你能够特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。...倒着打印列表:要反转列表元素的排列顺序,可使用reverse( )。注意,reverse( )不是与字母顺序相反的顺序排列元素,而只是反转列表元素的排列顺序。

1.5K20

NumPy 1.26 中文官方指南(二)

当第一个索引改变时,矩阵存储在内存中一列一列地变化。这就是为什么 Fortran 被认为是一种基于列的语言。而在 C 中,最后一个索引最快变化。矩阵存储,使之成为基于行的语言。...索引和切片 你可以使用与 Python 列表切片相同的方式 NumPy 数组进行索引和切片。...第一个数组表示这些值所在的行索引,第二个数组表示这些值所在的列索引。 如果你想要生成一个元素存在的坐标列表,你可以将数组进行组合,遍历坐标列表打印它们。...随着第一个索引的变化移动到下一行,矩阵存储。这就是为什么 Fortran 被认为是一种列主语言。另一方面,在 C 中,最后的索引变化最快。矩阵存储,使其成为一种行主语言。...第一个数组表示找到这些值的行索引,第二个数组表示找到值的列索引。 如果您想生成元素存在的坐标列表,可以对数组进行压缩,遍历坐标列表打印它们。

12710

Python列表解锁】:掌握序列精髓,驾驭动态数据集合

,这些值一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。...如果不指定索引,pop 方法默认移除返回列表的最后一个元素。如果指定了索引,就移除返回该索引位置上的元素。 语法: list.pop([index]) list:这是你想要从中移除元素的列表。...(同类型数据) sort() 方法是列表(list)的一个内置方法,用于就地(in-place)列表元素进行排序。...默认情况下,元素本身会被用作键值进行比较。 reverse:可选参数,默认为False,表示升序排序。如果设置为True,则按降序排序。...进行排序,返回一个新的排序后的列表,原对象保持不变。

5810

Python 小白的晋级之路 - 第四部分:掌握 Python 列表

JZGKCHINA 工控技术分享平台 1 引言: 在 Python 中,列表是一种灵活的数据结构,用于存储和操作多个值。...2 列表的使用方法: Python 中的列表是由 [ ] 括起来,由一系列特定顺序排列的值组成的。...(1) print("删除的水果:", removed_fruit) print("剩余的水果列表:", fruits) 4 组织列表: 可以对列表进行排序反转和去重等操作,以便更好地组织列表中的元素...) 5 遍历整个列表: 通过使用循环结构,可以遍历整个列表每个元素进行操作。...列表的使用方法,包括元素的读取、添加和删除,组织列表排序反转和去重等操作,以及遍历整个列表和创建数值列表,还包括如何使用列表的一部分。

12120

看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

因此,常见的做法是定义一个Python列表进行操作,然后再转换为NumPy数组,或者用np.zeros和np.empty初始化数组,预分配必要的空间: ?...但它们都是所谓的view,也就是不存储原始数据。并且如果原始数组在被索引进行更改,则不会反映原始数组的改变。...无需在整个矩阵上耗费存储空间。仅存储大小正确的矢量就足够了,运算规则将处理其余的内容: ?...不过NumPy具有多个函数,允许进行排序: 1、第一列对数组排序:a[a[:,0].argsort()] ? argsort排序后,此处返回原始数组的索引数组。...2、有一个辅助函数lexsort,该函数上述方式所有可用列进行排序,但始终行执行,例如: a[np.lexsort(np.flipud(a[2,5].T))]:先通过第2列排序,再通过第5列排序

6K20

超详解——Python 列表详解——小白篇

sum():返回列表中所有元素的和(适用于数字列表)。 sorted():返回列表排序副本。 reversed():返回列表反转迭代器。 enumerate():返回列表中的元素和索引。...,以便在遍历或索引操作时进行边界检查。...max() 和 min() 适用于需要找到列表中的最大和最小元素的场景,尤其在数据分析和排序操作中非常有用。 sum() 主要用于对数值列表进行累加操作,在统计计算中非常常见。...sorted() 用于获取列表排序副本,而不修改原列表,非常适合在需要保持原数据不变的情况下进行排序。...) # 输出:[1, 2, [3, 4]] print(deep_copy) # 输出:[1, 2, ['Python', 4]] 深拷贝和浅拷贝的实际应用 浅拷贝:适用于一维列表进行复制或当列表中元素是不可变对象时

10410
领券