python列表排序及部分内置函数

列表排序

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

>>> 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	上海	
发布了68 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43254438/article/details/84190559