自学Python 14 列表的高级操作

Python 数据结构之列表



一、列表排列

在创建一个列表时,里面元素的排列常常是无法预测的,因为开发不可能控制用户提供数据的序列。但是在Python中,经常需要以特定的顺序显示列表中的信息。例如有时需要保留列表元素最初的排列顺序,有时又需要调整排列顺序。

1.1 使用方法sort( )对列表进行永久性排列

方法sort( )用于对原列表中的元素进行排列,语法格式如下:

list.sort([func])

参数func是一个可选参数,如果指定了该参数则使用该参数的方法进行排列。虽然方法sort( )没有返回值,但是会对列表进行排列。

  • func=key :主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • func=reverse: 排序规则,reverse = True 降序, reverse = False 升序(默认)。
    比如:
girl = [ 'yoya','mei', 'qizhi', 'shencai']
print( girl )
girl.sort(key = len)    # 让sort函数按照len函数提供的字符串长短进行排序,默认为升序
print( girl )
girl.sort(key = len,reverse=True)# 让sort函数按照len函数提供的字符串长短进行排序,reverse=True意为翻转,为逆序排序
print( girl )
girl.sort(reverse=False)# 让sort函数按照首字母进行排序,reverse=True意为升序
print( girl )

输出结果:
在这里插入图片描述
**还可以将key与lambda匿名函数进行结合使用。**示例如下:

girl = [ 'yoya','mei', 'qizhi', 'shencai']
girl.sort()     # 默认的情况下按照第一个元素的升序排序
print( girl )
girl.sort(key=lambda i:i[1])    # 按照第二个元素进行升序排序
print( girl )
girl.sort(key=lambda i:i[2])# 按照第三个元素进行升序排序
print( girl )

输出结果为:
在这里插入图片描述

1.2 使用方法sorted( )对列表进行临时排列

在Python程序中,要想既保留列表元素原有的排列顺序,同时又想以特定的顺序显示它们,此时可以使用方法sorted( )实现。示例如下:

girl = [ 'yoya','mei', 'qizhi', 'shencai']
print( sorted(girl) )
print( girl )

在上述代码中,首先按首字母的顺序显示列表中的元素,然后核实,确认列表的排列顺序与以前的相同。结果如下:
在这里插入图片描述

二、列表中的运算符

在Python语言中,在列表中可以使用“ + ”和“ * ”运算符,其中“ + ”运算符用于组合列表,“ * ”运算符用于重复输出列表。演示如下表:

Python 表达式结果描述
len([1,2,3])3长度
[1,2,3]+[4,5,6][1,2,3,4,5,6]组合
[‘hi!’]*4[‘hi!’,‘hi!’,‘hi!’,‘hi!’,‘hi!’]重复
3 in [1,2,3]True显示元素是否存在于列表
for x in [1,2,3]:print x1 2 3迭代
演示示例如下:
squares=[1,4,9,16,25]
print(squares+[36,49,64])
print(squares*4)
print(3 in squares)

在这里插入图片描述

三、列表截取与拼接

在Python语言中,可以使用“L”表达式实现列表截取与字符串操作功能,例如代码“L=[‘Google’,‘Apple’,‘Taobao’]”的操作过程如下表所示:

Python 表达式结果描述
L[2]‘Taobao’读取第三个元素
L[-2]‘Apple’从右侧开始读取倒数第二个元素
L[1:][‘Apple’,‘Taobao’]输出从第二个元素开始后的所有元素

演示示例如下:

L=['Google','Apple','Taobao']
print( L[2])
print( L[-2])
print( L[1:])

在这里插入图片描述

四、列表嵌套

在Python程序中,列表嵌套是指在一个已经存在的列表中创建其他新的列表,例如下面的示例:

print("下面是语文、数学和英语的得分:")
a=['语文','数学','英语']      #创建列表a
n=[90,95,93]        #创建列表n
x=[a,n]     #创建列表x
print(x)        #同时输出列表a和列表n的值
print(x[0])  	#输出x中位置为0的元素
print(x[0][1])#输出x中位置为0的元素为1的元素

输出结果是:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值