admin管理员组

文章数量:1487745

python全栈开发《40.列表的sort函数》

1.sort的功能

对当前列表按照一定规律进行排序。

2.sort的用法

key:主要用来进行比较元素。这个元素也是列表中的成员(元素)。

reverse:它和我们直接学习的reverse函数的功能是一样的。也是作为排序的规则。不赋值,默认是升序。

代码语言:javascript代码运行次数:0运行复制
books = ['python','django','web','flask','tornado']
books.sort()
print(books)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_list/bin/python /Users/llq/PycharmProjects/pythonlearn/python_list/1.py 
['django', 'flask', 'python', 'tornado', 'web']

进程已结束,退出代码为 0

这里sort是默认按照字符串首字母的字母顺序进行排序。如果是数字类型,就是通过数字的大小进行排序的。

3.sort的注意事项

  • 列表中的元素类型必须相同,否则无法排序(会报错)。
代码语言:javascript代码运行次数:0运行复制
mixs =['python',1,1.5,'django']
mixs.sort()

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_list/bin/python /Users/llq/PycharmProjects/pythonlearn/python_list/1.py 
Traceback (most recent call last):
  File "/Users/llq/PycharmProjects/pythonlearn/python_list/1.py", line 2, in <module>
    mixs.sort()
TypeError: '<' not supported between instances of 'int' and 'str'

进程已结束,退出代码为 1

4.代码

例1:书写两遍shengxiao.sort(reverse=True),并执行。

代码语言:javascript代码运行次数:0运行复制
# coding:utf-8

shu = '01老鼠'
niu = '02牛'
hu = '03老虎'
tu = '04兔'
long = '05龙'
she = '06蛇'
ma = '07马'
yang = '08羊'
hou = '09猴'
ji = '10鸡'
gou = '11狗'
zhu = '12猪'

shengxiao = []
shengxiao.append(gou)
shengxiao.append(ji)
shengxiao.append(zhu)
shengxiao.append(she)
shengxiao.append(tu)
shengxiao.append(hou)
shengxiao.append(hu)
shengxiao.append(niu)
shengxiao.append(shu)
shengxiao.append(long)
shengxiao.append(ma)
shengxiao.append(yang)

print(shengxiao)
print(len(shengxiao))
shengxiao.sort()
print(shengxiao)
shengxiao.sort(reverse=True)
print(shengxiao)
shengxiao.sort(reverse=True)
print(shengxiao)

运行结果:两次的列表顺序都是相同的。说明当前列表的顺序:如果它的规则已经符合当前定义的规则了,它就不会再发生变化了。

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_list/bin/python /Users/llq/PycharmProjects/pythonlearn/python_list/list_sort.py 
['11狗', '10鸡', '12猪', '06蛇', '04兔', '09猴', '03老虎', '02牛', '01老鼠', '05龙', '07马', '08羊']
12
['01老鼠', '02牛', '03老虎', '04兔', '05龙', '06蛇', '07马', '08羊', '09猴', '10鸡', '11狗', '12猪']
['12猪', '11狗', '10鸡', '09猴', '08羊', '07马', '06蛇', '05龙', '04兔', '03老虎', '02牛', '01老鼠']
['12猪', '11狗', '10鸡', '09猴', '08羊', '07马', '06蛇', '05龙', '04兔', '03老虎', '02牛', '01老鼠']

进程已结束,退出代码为 0

注意:列表中嵌套字典,这种情况下的字典的排序:是需要靠每一个字典里面的key或者value进行排序的。之后的字典学习中再解释。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-09-23,如有侵权请联系 cloudcommunity@tencent 删除pythonsort函数开发全栈

本文标签: python全栈开发《40列表的sort函数》