专业编程基础技术教程

网站首页 > 基础教程 正文

Python基础找茬系列07--sorted与sort函数,你分清了吗?

ccvgpt 2024-07-26 00:56:13 基础教程 13 ℃

一、基本语法

1、sort()

①sort()是list内置方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。

Python基础找茬系列07--sorted与sort函数,你分清了吗?

②默认排序规则

排序,数字、字符串按照ASCII,中文按照unicode从小到大排序

x = [1,5,3]
x.sort()
print (x) # [1,3,5]

③不改变x列表的前提下使用sort()

x = [1, 5, 3]
"""
注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,
如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,
并没有产生新的副本。
"""
y = x[:]
y.sort()
print(x) # [1,5,3]
print(y) # [1,3,5]

2、sorted()

①sorted返回一个有序的副本,并且类型总是列表

x = [1, 5, 3]
y = sorted(x)
print(x) # [1, 5, 3]
print(y) # [1, 3, 5]
world = 'hello'
print(world) # hello
print(sorted(world)) # ['e', 'h', 'l', 'l', 'o']

二、高级应用--可选参数配置

1、sort

①有2个可选参数:key和reverse

I、key在使用时必须提供一个排序过程总调用的函数(可以自定义排序规则)

x = ['mmm', 'mm', 'mm', 'm' ]
x.sort(key = len)
print x # ['m', 'mm', 'mm', 'mmm']

II、reverse: True为倒序排列,False为正序排列(默认)

x = [1, 5, 3]
y = [1, 5, 3]
x.sort(reverse=True)
y.sort(reverse=False)
print(x) # [5, 3, 1]
print(y) # [1, 3, 5]

2、sorted,1个必填参数iterable,2个可选参数key,reverse

print(sorted("This is an Apple from Alice".split(), key=str.lower))
# ['Alice', 'an', 'Apple', 'from', 'is', 'This']

>>上一茬《Python基础找茬系列06--浅拷贝和深拷贝,十个人有七个人会晕》

最近发表
标签列表