目录
1.5.2.按相反的顺序永久性排列列表元素 sort(reverse= True)
1.5.4.按相反的顺序临时性排序列表sorted(reverse=True)
1.列表
1.1列表的定义与创建,访问列表元素
列表list是Python中非常常见的一种数据类型。用一对中括号来表示,中间用逗号隔开。
例如下面的两个列表:
访问列表元素直接用print(列表名)即可打印出一个完整的列表,带 [ ] 符号
#定义一个自行车列表,列表最好是指定一个复数的名称
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
列表里的内容,我们称之为元素
列表元素可以由多种数据类型组成,同样也可以包含(或称为嵌套)列表
#列表元素可以由多种数据类型组成,同样也可以包含列表
students = ['Bob','Alice','Jim','Mike','Judy',123,True,['a','b']]
print(type(students))
print(students)
1.2列表的索引
在python中,第一个列表元素的索引为0,而不是1(类似数组的下标)
students = ['Bob', 'Alice', 'Jim', 'Mike', 'Judy']
# 索引 0 1 2 3 4
# 负数索引 -5 -4 -3 -2 -1
print(students[0])
python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素。这个约定也适用于其他的复数索引,例如索引-2返回倒数第二个列表元素,索引-3返回倒数第三个索引元素,以此类推。
可以像其他变量一样来使用列表中的各个值,例如:
students = ['Bob', 'Alice', 'Jim', 'Mike', 'Judy']
# 索引 0 1 2 3 4
# 负数索引 -5 -4 -3 -2 -1
print('本次考试最高分的学生是:'+students[1].lower())
可以使用字符串的方法改变大小写,只要列表元素类型是字符串:
1.3列表的切片
列表的切片可以用来获取你需要的元素
列表切片的格式:列表名[x:y],从索引 [ x ] 到索引 [ y-1 ]
切片注意点:
1.X:Y是不包含Y的,索引取值是X-->Y-1
2.X: 是从X开始,一直取到最后一个元素
3. :Y是从第一个元素开始,一直取到索引为Y-1
4. : 跟直接print(列表名)没有区别
5. 前面的数字不能比后面大
students = ['Bob', 'Alice', 'Jim', 'Mike', 'Judy']
# 索引 0 1 2 3 4
# 负数索引 -5 -4 -3 -2 -1
print(students[1:4]) #取索引1-3
print(students[4:1]) #前面的数字不能比后面的大
print(students[:]) #跟直接print(列表名)没有区别
print(students[:4]) #从第一个元素开始取到元素索引3
print(students[1:]) #从索引1取到最后一个元素
print(students[:-1]) #从第一个元素一直取到元素索引为-2
print(students[-1:]) #从索引-1元素取到最后一个元素,也就是只取这一个元素
print(students[-1:-4]) #前面的数字不能比后面的大
print(students[-4:-1]) #从索引-4取到索引-2
print(students[0:5]) #从索引0取到索引4
运行结果:
['Alice', 'Jim', 'Mike']
[]
['Bob', 'Alice', 'Jim', 'Mike', 'Judy']
['Bob', 'Alice', 'Jim', 'Mike']
['Alice', 'Jim', 'Mike', 'Judy']
['Bob', 'Alice', 'Jim', 'Mike']
['Judy']
[]
['Alice', 'Jim', 'Mike']
['Bob', 'Alice', 'Jim', 'Mike', 'Judy']
[Finished in 0.2s]
1.4列表的增、删、改、查
1.4.1列表新增
1.在列表末尾添加元素 append()
用append增加元素时,新的元素会增加在列表的最后。
motorcycles=['honda','yamaha','szuki']
motorcycles.append('ducati')
print(motorcycles)
>>>['honda', 'yamaha', 'szuki', 'ducati']
方法append() 让动态地创建列表易如反掌,例如,我们可以先创建一个空列表,再使用一系列的append()语句来添加元素。这种创建列表的方式极其常见,因为经常要等程序运行后,我们才知道用户要在程序中存储哪些数据。
motorcycles=[]
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('szuki')
motorcycles.append('ducati')
motorcycles.append('honda') #列表是允许重复元素出现的
print(motorcycles)
>>>['honda', 'yamaha', 'szuki', 'ducati', 'honda']
2.在列表中插入元素 insert(),insert()有2个参数:第一个参数是要添加元素的下标位置;第二个参数是要添加的元素
使用方法insert()可在列表的任何位置添加新元素,你需要指定新元素的索引和值
motorcycles=['honda','yamaha','szuki']
motorcycles.insert(0,'ducati')
print(motorcycles)
>>>['ducati', 'honda', 'yamaha', 'szuki']
3.把多个元素添加入列表 extend(),也作将列表插入列表
extend()是用列表去拓展列表,而不是直接添加元素,所以“()”中要加上“[ ]”
motorcycles=['honda','yamaha','szuki']
motorcycles.extend(['ducati','totyo']) #注意理解成把列表插入列表,放在最后,所以要使用[]符号
print(motorcycles)
>>>['honda', 'yamaha', 'szuki', 'ducati', 'totyo']
1.4.2从列表中删除元素
1.pop通过索引来删除元素
motorcycles=['honda','yamaha','szuki']
motorcycles.append('ducati')
a=motorcycles.pop(0) #可以把pop删除的值保存在变量a中使用
print(motorcycles)
>>>['yamaha', 'szuki', 'ducati']
2.remove通过元素的值来删除元素
motorcycles=['honda','yamaha','szuki']
motorcycles.extend(['honda','ducati'])
print(motorcycles)
a=motorcycles.remove('honda') #如果有重复元素,只会删除一个,可以使用变量a