Python实现的列表排序、反转操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现的列表排序、反转操作。分享给大家供大家参考,具体如下:

排序:

使用sorted方法和列表的sort方法:

sorted方法适用范围更广,sort方法只有列表有。

li = [{'a':'23'}, {'a':'12'}]
def sort_fun(mp):
  s = mp['a']
  return int(s)
print(sorted(li, key = sort_fun, reverse = True)) #这会返回一个排好序的列表,原列表不变。
print(li.sort(key = sort_fun, reverse = True)) # 返回None,原列表变为排好序的。

运行结果:

[{'a': '23'}, {'a': '12'}]
None

  • key参数指示按照什么排序,是一个函数,函数的输入为要排序列表的项,输出为可排序的数据类型。
  • reverse参数指示排序方式,默认是False,也就是从小到大排序。

反转:

将原列表反转,返回None:

li = [1, 2, 3]
li.reverse()
print(li)
# [3, 2, 1]

不改变原列表,返回反转后的新列表:

li = [1, 2, 3]
li2 = li[::-1]
print(li)
print(li2)
# [1, 2, 3]
# [3, 2, 1]

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Pytorch 定义MyDatasets实现多通道分别输入不同数据方式

最近在做一个项目,用双通道神经网络,每个通道输入不同数据训练,具有相同label。开始没想到如何实现,网上很多例子都是单通道,即便找到双通道的例子,两个通道的输入也相同。 最后,终于想到...

python字典键值对的添加和遍历方法

添加键值对 首先定义一个空字典 >>> dic={} 直接对字典中不存在的key进行赋值来添加 >>> dic['name']='zhangsan...

ansible动态Inventory主机清单配置遇到的坑

ansible动态Inventory主机清单配置遇到的坑

坑1 : 动态主机清单配置,需要按照ansible的要求的格式返回给ansible命令的 源代码如下: 但是在ansible-playbook中使用动态主机配置文件的时候,发生了错误!!...

pandas.dataframe中根据条件获取元素所在的位置方法(索引)

在dataframe中根据一定的条件,得到符合要求的某行元素所在的位置。 代码如下所示: df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],...

Python3基础之输入和输出实例分析

通常来说,一个Python程序可以从键盘读取输入,也可以从文件读取输入;而程序的结果可以输出到屏幕上,也可以保存到文件中便于以后使用。本文就来介绍Python中最基本的I/O函数。 一、...