1. 修改原列表,不创建新列表的排序

1 a = [3, 2, 8, 4, 6]
2 print(id(a)) # 2180873605704
3 a.sort() # 默认升序
4 print(a) # [2, 3, 4, 6, 8]
5 print(id(a)) # 2180873605704
6
7 a.sort(reverse=True)
8 print(a) # [8, 6, 4, 3, 2]
1 # 将序列的所有元素随机排序
2 import random
3 b = [3, 2, 8, 4, 6]
4 random.shuffle(b)
5 print(b) # [4, 3, 6, 2, 8]

2. 创建新列表的排序

通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。

1 a = [3, 2, 8, 4, 6]
2 b = sorted(a) # 默认升序
3 c = sorted(a, reverse=True) # 降序
4 print(b) # [2, 3, 4, 6, 8]
5 print(c) # [8, 6, 4, 3, 2]

3. 冒泡排序

 1 list1 = [34,54,6,5,65,100,4,19,50,3]
2
3 #冒泡排序,以升序为例
4
5 #外层循环:控制比较的轮数
6 for i in range(len(list1) - 1):
7 #内层循环:控制每一轮比较的次数,兼顾参与比较的下标
8 for j in range(len(list1) - 1 - i):
9 #比较:只要符合条件则交换位置,
10 # 如果下标小的元素 > 下标大的元素,则交换位置
11 if list1[j] < list1[j + 1]:
12 list1[j],list1[j + 1] = list1[j + 1],list1[j]
13 print(list1)

4. 选择排序

 1 li = [17, 4, 77, 2, 32, 56, 23]
2
3 # 外层循环:控制比较的轮数
4 for i in range(len(li) - 1):
5 # 内层循环:控制每一轮比较的次数
6 for j in range(i + 1, len(li)):
7 # 如果下标小的元素>下标大的元素,则交换位置
8 if li[i] > li[j]:
9 li[i], li[j] = li[j], li[i]
10 print(li)

Python列表排序方法汇总,超详细!的更多相关文章

  1. Python 列表排序方法reverse、sort、sorted操作方法

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  2. Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  3. python 列表排序方法reverse、sort、sorted基础篇

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  4. python列表排序方法reverse、sort、sorted

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  5. Python列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  6. python 列表排序方法sort、sorted技巧篇

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...

  7. python切片使用方法(超详细)

    #切片:就是根据一个下标范围来获取一部分数据,切片通常结合字符串,列表,元组使用 # 为什么使用切片?因为下标只能获取一个数据,所以想要获取字符串或者列表当中一部分数据需要用切片. # 切片的语法格式 ...

  8. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  9. Python 列表 sort() 方法

    描述 Python 列表 sort() 方法对列表进行排序. 语法 sort() 方法语法: L.sort([key=None][,reverse=False]) 参数 key-- 可选参数, 如果指 ...

随机推荐

  1. C# Socket TCP发送图片与接收图片

    如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! --------------------------- ...

  2. shell-变量的数值运算let内置命令

    1. let命令的用法 格式: let 赋值表达式 [注]let赋值表达式功能等同于:((赋值表达式))  范例1:给自变量i加8 [root@1-241 scripts]# i=2 [root@1- ...

  3. GIS和视频监控的集成

    本文讨论了使用增强现实(AR)技术的三维(3D)地理信息系统(GIS)和视频监视系统的集成.进行这种集成的动机是要克服常规视频监视系统面临的问题.关于哪个摄像机当前监视此类系统中哪个区域的明确信息:因 ...

  4. nginx的脚本引擎(二)rewrite

    其实rewrite指令和上一篇说的if/set/return/break之类的没多大差别,但是rewrite用起来相对复杂,我就把他单独放到了这里.想要弄懂nginx的脚本引擎需要先明白处理reque ...

  5. C语言实现表达式求值,支持+、-、*、/四则运算,并且支持多级括号,自定义了栈的操作。

    以下是代码的实现使用gcc已经成功运行了,下面是效果图 #include <stdio.h> #include <stdlib.h> #define OPT_ADD 43 /* ...

  6. 【logstash】 - 使用json解析数

    ilter-json:http://www.logstash.net/docs/1.4.2/filters/json json数据: {"account_number":995,& ...

  7. vue知识点10

    今天彻底掌握了如下: 1.解决回调地狱三种方案        callback async await Promise 2.中间件(middleware)        express.static  ...

  8. JS实现页面计时

    前言 计时功能在网页上是非常多的,现在我就用原生JS做个计时功能吧 HTML <div><label>得到毫</label> <h5></h5&g ...

  9. 学python,大概要多久?

    都让开!本人文科生,自学Python 2年半,作为一个曾经完全0基础,啥都不懂纯靠自学学会python的文科生,有一些不成熟的小建议可以分享一下. 首先不要觉着编程难,只要你认识26个英文字母,有一点 ...

  10. Oracl Linux KVM虚拟机备份

    Oracle Linux  KVM 作为Oracle Linux的一部分,基于KVM的Oracle Linux 服务器虚拟化解决方案在功能上得到了增强.用户可以利用Oracle Linux旧版本,将操 ...