列表
一、列表的格式
[数据1,数据2,数据3,数据4 ]
二、列表的常用操作
1.查找
1.1下标
name_list = ['Tom', 'Lily', 'Rose']
print(name_list[0]) # Tom
print(name_list[1]) # Lily
print(name_list[2]) # Rose
1.2.函数
- index(): 返回指定数据所在位置的下标
语法
列表序列.index(数据, 开始位置下标, 结束位置下标)
体验
name = ['Tom', 'Lily', 'Rose']
print(name.index('Lily',0,2)) #1
注意:如果查找的数据不存在则报错。
- count(): 统计指定数据在当前列表中出现的次数。
name=['Tom','Lily','Rose']
print(name.count('Lily')) #1
- len():访问列表⻓度,即列表中数据的个数。
name=['Tom','Lily','Rose']
print(len(name)) #3
1.3.判断是否存在
- in:判断指定数据在某个列表序列,如果在返回True,否则返回False
name=['Tom','Lily','Rose']
print('Lily' in name)
# 结果:True
print('Lilys' in name)
# 结果:False
- not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
name=['Tom','Lily','Rose']
print('Lily' not in name)
# 结果:False
print('Lilys' not in name)
# 结果:True
2.增加
作用:增加指定数据到列表中。
- append():列表结尾追加数据。
语法
列表序列.append(数据)
体验
name=['Tom','Lily','Rose']
name.append('xiaoming')
print(name)
# 结果:['Tom', 'Lily', 'Rose', 'xiaoming']
如果append()追加的数据是一个序列,则追加整个序列到列表
name=['Tom','Lily','Rose']
name.append(['xiaoming', 'xiaohong'])
print(name)
# 结 果 :['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']]
- extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表。
语法
列表序列.extend(数据)
体验
单个数据
name=['Tom','Lily','Rose']
name.extend('xiaoming')
print(name)
# 结 果 :['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
序列数据
name=['Tom','Lily','Rose']
name_list.extend(['xiaoming', 'xiaohong'])
print(name)
# 结 果 :['Tom', 'Lily', 'Rose', 'xiaoming','xiaohong']
- insert():指定位置新增数据。
语法
列表序列.insert(位置下标, 数据)
体验
name = ['Tom', 'Lily', 'Rose']
name.insert(1, 'xiaoming')
# 结果:['Tom', 'xiaoming', 'Lily',
print(name)
3.删除
- del
删除列表
name = ['Tom', 'Lily', 'Rose']
del name
# 结果:报错提示:name 'name_list' is not defined
# 因为在打印的时候 该列表已经被删除了
删除指定数据
name = ['Tom', 'Lily', 'Rose']
delname[0]
print(name)
# 结果:['Lily','Rose']
- pop():删除指定下标的数据(默认为最后一个),且删除后可以返回该数据。
语法
列表序列.pop(下标)
体验
name = ['Tom', 'Lily', 'Rose']
del_name = name.pop(1)
print(del_name)
# 结 果 :Lily
print(name)
# 结果:['Tom', 'Rose']
- remove():移除列表中某个数据的第一个匹配项。
语法
列表序列.remove(数据)
体验
name = ['Tom', 'Lily', 'Rose']
name.remove('Rose')
print(name)
# 结果:['Tom', 'Lily']
- clear():清空列表
name = ['Tom', 'Lily', 'Rose']
name.clear()
print(name)
# 结果: []
4.修改
- 修改指定下标数据
name = ['Tom', 'Lily', 'Rose']
name[0] = 'aaa'
print(name)
# 结果:['aaa', 'Lily', 'Rose']
- 逆置 reverse()
num=[1,5,2,3,6,8]
num.reverse()
print(num)
# 结果:[8, 6, 3, 2, 5, 1]
- 排序 sort()
语法
列表序列.sort( key=None, reverse=False)
体验
num=[1,5,2,3,6,8]
num_list.sort()
print(num)
# 结果:[1, 2, 3, 5, 6, 8]
5.复制
函数:copy()
name = ['Tom', 'Lily', 'Rose']
name2 = name.copy()
# 结果:['Tom', 'Lily', 'Rose'] print(name2)
三、列表的循环遍历
while
name = ['Tom', 'Lily', 'Rose']
i = 0
while i <len(name):
print(name[i])
i += 1
for
name = ['Tom', 'Lily', 'Rose']
for i in name_list:
print(i)
四、列表嵌套
所谓列表嵌套指的就是一个列表里面包含了其他的子列表。
name= [['小明', '小红', '小黄'], ['Tom', 'Lily', 'Rose'], ['张三', '李四', '王二']]
思考: 如何查找到数据"李四"?
# 第一步:按下标查找到王二所在的列表
print(name[2])
# 第二步:从王二所在的列表里面,再按下标找到数据王二
print(name[2][2])