列表排序
修改原列表,不建新列表的排序
>>> a =[10,30,20,50,40]
>>> id(a)
2087215487752
>>> a.sort() #默认时升序排列
>>> a
[10, 20, 30, 40, 50]
>>> id(a)
2087215487752
>>> a.sort(reverse=True) #降序排列
>>> a
[50, 40, 30, 20, 10]
>>> import random
>>> random.shuffle(a) #打乱顺序
>>> a
[50, 40, 20, 30, 10]
>>> random.shuffle(a) #两次输出不同
>>> a
[10, 40, 50, 20, 30]
新建列表的排序
可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改
>>> a = [20,10,40,30,50]
>>> id(a)
2087218211976
>>> a = sorted(a) #默认是升序
>>> a
[10, 20, 30, 40, 50]
>>> id(a)
2087218212424
>>> b = sorted(a)
>>> b
[10, 20, 30, 40, 50]
>>> c = sorted(a,reverse=True) #降序排列
>>> c
[50, 40, 30, 20, 10]
reversed()返回迭代器
内置函数reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数
reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象
>> a = [20,10,30,40]
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x000001E5F7E2B080> #一个反转 迭代器
>>> list(c) #通过list函数转化为列表
[40, 30, 10, 20]
>>> list(c) #迭代器只能用一次,这个是通过指针操作的
[]
>>> a
[20, 10, 30, 40]
>>> a[::-1] #切片反向输出
[40, 30, 10, 20]
列表相关其他内置函数
max和min 用于返回列表中最大值和最小值
>>> a = [1,4,7,9,2,6,9,22]
>>> min(a)
1
>>> max(a)
22
sum 对数值型列表所有元素进行求和操作,对非数值类型运算则报错
>>> a = [1,4,7,9,2,6,9,22]
>>> sum(a)
60
二维列表
一维列表可以帮助我们存储一维,线性的数据
二位列表可以帮助我们存储二维,表格的数据
a = [
["姓名","年龄","月薪","居住地"],
["吾志高","18","30000","北京"],
["志高乐","18","30000","上海"],
["高云翔","18","30000","广州"],
]
for m in range(3):
for n in range(4):
print(a[m][n],end = "\t") #原本输一行换一行,end = "\t" \t是制表符
print() #输出换行
姓名 年龄 月薪 居住地
吾志高 18 30000 北京
志高乐 18 30000 上海