Python初学者项目练习9--对简单列表元素排序
一、练习题目
给定一个简单列表,对其元素进行排序
简单列表:元素类型不是复合类型(列表/元组/字典)
示例:
形式1:[10,20,30,40]
形式2:[‘aa’, ‘bb’, ‘cc’]
二、代码
1.初始版本–升序
代码如下:
list1=[10,5,3,78]# 对列表进行排序(原地排序)#sort(key=None,reverse=False)默认#key(可选):接收一个函数作为参数。该函数会在每个元素上调用,其返回值将作为排序的依据。如果未提供,则直接比较元素本身。#reverse(可选):接收一个布尔值。如果为True,则列表将降序排列。如果为False,则列表将升序排列。list1.sort()print(list1)[3, 5, 10, 78]
原地排序,升序
2.其他版本
代码如下:
list1=[10,5,3,78]list1.sort(reverse=True)print(list1)[78, 10, 5, 3]
原地排序,降序
3.其他版本
代码如下:
list1=[10,5,3,78]# 对列表排序,但是不改变原列表顺序#sorted(iterable,key=None,reverse=False)#iterable:想要排序的可迭代对象#key(可选):接收一个函数作为参数。这个函数会在每个元素上调用,其返回值作为排序的依据。#reverse(可选):接收一个布尔值。如果为True,则是降序排列。如果为False,则是升序排列#list2=sorted(list1)#print(list2)#print(list1)[3, 5, 10, 78]
[10, 5, 3, 78]
总结
- 原地排序:
sort(key=None, reverse=False) #默认,升序
sort(key=None, reverse=True) #降序 - 不改变原列表顺序:
sorted(iterable, key=None, reverse=False) - 为什么有的是X.sort, 为什么有的是 sorted(X)。为什么sorted使用方法不是
X.sorted
记住:
✅ .方法():通常是“某一种对象自己才会做的事”
✅ 函数():通常是“多种对象都能做的事 - 下面的表格对常用的【独立函数和方法】做了总结:
