这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战
列表是最常用的 Python 数据类型,与 JAVA、C 中数组不同的是:
-
列表(List)存储的数据项不需要具有相同的类型
-
数组(Array)的数据项必须是同一数据类型
格式
[数据1,数据2,数据3,数据4......]
注:列表(List)可以一次性存储多个数据,且可以为==不同数据类型==。
常用操作
列表的基础操作包括:增、删、改、查。
1、查找
下标
获取指定下标的数据。
-
语法:
列表序列[下标] -
示例:
name_list = ['Tom','Lily','Rose'] print(name_list[0]) #Tom print(name_list[1]) #Lily print(name_list[2]) #Rose
index()
返回指定数据所在位置的==下标==。
-
语法:
列表序列.index(数据,开始位置下标,结束位置下标) -
示例:
name_list = ['Tom','Lily','Rose'] print(name_list.index('Lily')) #1 print(name_list.index('Lily',0,2)) #1 # print(name_list.index('Lil'))注:如果查找结果不存在则报错:
ValueError: 'Lil' is not in list。
count()
统计指定数据在当前列表中==出现的次数==。
-
语法:
列表序列.count(数据) -
示例:
name_list = ['Tom','Lily','Rose'] print(name_list.count('Lil')) #0 print(name_list.count('Lily')) #1
len()
返回列表长度,即列表中数据的个数。
-
语法:
len(列表) -
示例:
name_list = ['Tom','Lily','Rose'] print(len(name_list)) #3
in()
判断指定的数据是否存在某个列表序列,如果==存在则返回 True==,否则返回 False
-
语法:
数据 in 列表 -
示例:
name_list = ['Tom','Lily','Rose'] print('Lil' in name_list) #False print('Lily' in name_list) #True
not in()
判断指定的数据是不在某个列表序列,如果==不存在则返回 True==,否则返回 False
-
语法:
数据 not in 列表 -
示例:
name_list = ['Tom','Lily','Rose'] print('Lil' not in name_list) #True print('Lily' not in name_list) #False
2、增加
增加指定数据到列表中。
append()
在列表结尾追加数据。
-
语法:
列表序列.append(数据) -
示例:
-
数据为单个数据
name_list = ['Tom','Lily','Rose'] name_list.append('XiaoMing') print(name_list) #['Tom', 'Lily', 'Rose', 'XiaoMing'] -
数据为一个列表序列(整个==列表序列作为一个元素==追加到尾部)
name_list1 = ['Tom','Lily','Rose'] name_list2 = ['Tim','Lee','Rosy'] name_list1.append(name_list2) print(name_list1) #['Tom', 'Lily', 'Rose', ['Tim', 'Lee', 'Rosy']] print(name_list2) #['Tim', 'Lee', 'Rosy']
-
extend()
在列表结尾追加数据,如果数据是一个序列,则将这个序列的数据==拆分==再逐一添加到列表。
-
语法:
列表序列.extend(数据) -
示例:
-
数据为单个数据(将数据==拆开==,逐一添加到列表)
name_list = ['Tom','Lily','Rose'] name_list.extend('XiaoMing') print(name_list) #['Tom', 'Lily', 'Rose', 'X', 'i', 'a', 'o', 'M', 'i', 'n', 'g'] -
数据为一个列表序列(==列表序列的元素==追加到尾部)
name_list1 = ['Tom','Lily','Rose'] name_list2 = ['Tim','Lee','Rosy'] name_list1.extend(name_list2) print(name_list1) #['Tom', 'Lily', 'Rose', 'Tim', 'Lee', 'Rosy'] print(name_list2) #['Tim', 'Lee', 'Rosy']
-
insert()
在列表==指定位置新增数据==。
-
语法:
列表序列.insert(位置下标,数据) -
示例:
name_list = ['Tom','Lily','Rose'] name_list.insert(4,'XiaoMing') # name_list.insert(len(name_list),'XiaoMing') print(name_list) #['Tom', 'Lily', 'Rose', 'XiaoMing']
3、删除
del
删除目标。
-
语法:
del 目标 -
示例:
-
删除列表
name_list = ['Tom','Lily','Rose'] del name_list print(name_list) #NameError: name 'name_list' is not defined -
删除指定数据
name_list = ['Tom','Lily','Rose'] del name_list[1] print(name_list) #['Tom', 'Rose']
-
pop()
删除指定下标的数据(==默认最后一个==),并==返回删除的数据==。
-
语法:
列表序列.pop(下标) -
示例:
name_list = ['Tom','Lily','Rose'] pop_name1 = name_list.pop() pop_name2 = name_list.pop(1) print(name_list) #['Tom'] print(pop_name1) #Rose print(pop_name2) #Lily
remove()
移除列表中某个数据的==第一个匹配项==。
-
语法:
列表序列.remove(数据) -
示例:
name_list = ['Tom','Lily','Rose','Lily'] name_list.remove('Lily') print(name_list) #['Tom', 'Rose', 'Lily']
clear()
清空列表。
-
语法:
列表序列.clear() -
示例:
name_list = ['Tom','Lily','Rose','Lily'] name_list.clear() print(name_list) #[]
4、修改
下标
修改指定下标的数据。
-
语法:
列表序列[下标]=数据 -
示例:
name_list = ['Tom','Lily','Rose','Lily'] name_list[3]='LiMing' print(name_list) #['Tom', 'Lily', 'Rose', 'LiMing']
reverse()
将列表序列数据逆置。
-
语法:
列表序列.reverse() -
示例:
name_list = ['Tom','Lily','Rose','Lily'] name_list.reverse() print(name_list) #['Lily', 'Rose', 'Lily', 'Tom']
sort()
对列表序列数据进行排列,==默认升序==。
-
语法:
列表序列.sort(key=None,reverse=False)注:key 配合字典 Key;reverse 表示排序规则,reverse=True 降序,reverse=Fasle 升序(默认)
-
示例:
name_list = ['Tom', 'Aily', 'Rose', 'Ably'] name_list.sort() print(name_list) # ['Ably', 'Aily', 'Rose', 'Tom'] name_list.sort(reverse=False) print(name_list) # ['Ably', 'Aily', 'Rose', 'Tom'] name_list.sort(reverse=True) print(name_list) # ['Tom', 'Rose', 'Aily', 'Ably']
5、复制
copy()
复制一个列表序列的数据并返回一个列表序列。
-
语法:
列表序列.copy() -
示例:
name_list = ['Tom', 'Aily', 'Rose', 'Ably'] name_list_copy = name_list.copy() print(name_list) # ['Ably', 'Aily', 'Rose', 'Tom'] print(name_list_copy) # ['Tom', 'Aily', 'Rose', 'Ably']
6、循环遍历
while
name_list = ['Tom', 'Aily', 'Rose', 'Ably']
i = 0
while i < len(name_list):
print(name_list[i],end=" ") # Tom Aily Rose Ably
i += 1
for
name_list = ['Tom', 'Aily', 'Rose', 'Ably']
for i in name_list:
print(i,end=" ") # Tom Aily Rose Ably
7、列表嵌套
列表嵌套指一个列表中包含了其他子列表。
-
语法:
列表序列=[列表序列1,列表序列2,列表序列3......] -
示例:
# 输出列表中的 5 name_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 1、按下标找到 5 所在的列表 print(name_list[1]) # [4, 5, 6] # 1、从 5 所在的列表中,再按下标找到数据 5 print(name_list[1][1]) # 5 # 遍历输出 for i in name_list: for j in i: print(j, end=" ") # 1 2 3 4 5 6 7 8 9