列表使用
概念与定义
列表的数据结构为数组。与其他语言不同的是python中的数据中存放的数据元素类型可以不同。定义方式如下:
列表变量 = [元素1,元素2,元素3,元素4]
列表的相关操作
1. 下标
该操作与字符串类似,可以通过下标索引对列表元素可以进行访问
name_list=['Tom','Lily','Rose']
print(name_list[0]) # Tom
print(name_list[2]) # Rose
2. 查找函数 index & count & len
- index() 返回指定数据所在位置的下标,不存在则报错。
- count() 统计指定数据在当前列表中出现的次数
- len() 获取列表的元素个数
name_list = ['Tom', 'Lily', 'Rose']
print(name_list[1]) # Lily
print(name_list.index('Rose')) # 2
print(name_list.count("Lily")) # 1
print(len(name_list)) #3
3. 判断元素是否存在
- in : 判断元素是否存在列表中 ,存在返回True,不存在返回False
- not in 和in 相反
name_list = ['Tom', 'Lily', 'Rose']
print('Tom' in name_list) # True
print('Tom1' not in name_list) # True
4.添加元素(append、extend、insert)
- append
语法:列表.append(元素)
通过append 想列表尾部添加元素,如果添加的元素是一个列表则整个列表作为一个元素添加到当天列表中。
-
extend
语法: 列表a.extend(列表b)
通过extend 将一个列表添加到另一个列表中,添加后的列表长度为len(a)+len(b)。即将被添加的列表的每个元素逐个添加到原列表中。如果列表b是一个字符串’abc’(不是[‘abc’])则会将字符串格式的每个字符作为一个元素添加到原列表中。
- insert
语法: 列表a.insert(index,obj) 在指定位置index前插入元素object
name_list = ['Tom', 'Lily', 'Rose']
name_list.append("Jerry")
print(name_list) #['Tom', 'Lily', 'Rose', 'Jerry']
name_list.append(["xiao ming","xiao hong"])
print(name_list) #['Tom', 'Lily', 'Rose', 'Jerry', ['xiao ming', 'xiao hong']]
name_list = ["yuji", "houyi"]
name_list.extend(["luban", "libai"])
print(name_list) #['yuji', 'houyi', 'luban', 'libai']
name_list.extend("abc")
print(name_list) # ['yuji', 'houyi', 'luban', 'libai', 'a', 'b', 'c']
name_list.insert(1, "first")
print(name_list) #['yuji', 'first', 'houyi', 'luban', 'libai', 'a', 'b', 'c']
5. 删除元素(del pop remove)
- del 根据下标进行删除
语法: del 目标
- pop 删除最后一个元素
列表序列.pop([下标])
- remove 根据元素的值进行删除
列表序列.remove(元素)
movie_name = ['加勒⽐海盗', '骇客帝国', '第⼀滴⾎', '指环王', '霍比特人']
del movie_name[2]
print(movie_name) #['加勒⽐海盗', '骇客帝国', '指环王', '霍比特人']
movie_name.pop(2)
print(movie_name) #['加勒⽐海盗', '骇客帝国', '霍比特人']
movie_name.remove('加勒⽐海盗')
print(movie_name) #['骇客帝国', '霍比特人']
movie_name.clear()
print(movie_name) #[]
6. 列表修改数据(sort, reverse)
- 通过下标索引直接赋值修改
- 逆序 reverse()
- 排序 sort(key,reverse)
name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
# 结果:['aaa', 'Lily', 'Rose']
print(name_list) #['aaa', 'Lily', 'Rose']
name_list.reverse()
print(name_list) # ['Rose', 'Lily', 'aaa']
name_list.sort()
print(name_list) #['Lily', 'Rose', 'aaa']
name_list.sort(reverse=True)
print(name_list) #['aaa', 'Rose', 'Lily']
7. 复制(copy)
语法 新列表 = 旧列表.copy()
alist = [10, 11, 12, 13]
blist = alist.copy()
alist.append(14)
print(blist) # [10, 11, 12, 13]
8. 遍历列表
while & for
name_list = ['Tom', 'Lily', 'Rose']
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
for name in name_list:
print(name)
#打印一致
"""
Tom
Lily
Rose
"""
9. 列表嵌套(多维列表)
alist = [10,15,13,14, ['a', 'b', 'c', ['a1', 'b1', 'c1']]]
ele = alist[4][3][0]
print(ele) # a1