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 x | 1 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的元素
输出结果是: