列表的应用场景
同一批数据,需要存储。
列表 list [数据1,数据2,数据3,数据4,......]
列表的格式
[数据1,数据2,数据3,数据4,......]
列表可以存储多个数据,而且可以是不同类型的数据
列表的常规操作
定义一个列表
name_list = ['小明', '小芳', '小刚']
print(name_list)
new_name_list = name_list.copy() ## 复制出新一份(深拷贝)
查看
index()
index(数据, 开始索引, 结束索引)
写了范围就在范围中查找,否则就在整个列表中查找。
如果查找的数据,不在列表里面,会报错。
如果有多个数据,返回第一个数据的位置
name_list = ['小明', '小芳', '小刚']
print(name_list.index('小明')) #0
count()
统计数据出现的次数
num_list = [1,2,2,3,4,5]
print(num_list.count(2)) #2
索引
num_list = [1,11,15,191,21]
print(num_list[1]) #11
print(num_list[-1]) #21
成员判断
in 判断成员是否在列表里
not in 判断成员是否不在列表里
name_lsit = ['小明', '小芳', '小刚']
print('小明' in name_list) #True
print('小红' not in name_list) #True
应用实例
注册账号 用户名不能重复
name_list = ['小明', '小芳'. '小刚']
name = input('请输入你的用户名称:')
if name in name_list:
print(f'你输入的用户名称是{name},已被注册')
else:
name_lsit.append(name)
print(f'你输入的用户名称是{name},注册成功')
添加
+ 用于两个列表相加 (加号两边的数据类型要相同)
list1 = ['小明']
list2 = ['小刚']
print(list1 + list2) #['小明', '小刚']
append() 追加数据 把数据增加到最后 可以添加任意类型数据
list1 = ['小明'] #列表属于可变数据类型
print(id(list1))
list1.append('小刚')
print(list1) #['小明', '小刚']
print(id(list1)) #内存地址不变
#append可添加任意类型数据
list1.append(True)
list1.append(1)
list1.append([1])
list1.append({1:'test'})
insert() 插入数据 可插入到任意位置
name_list = ['小明', '小芳', '小刚']
name_list.insert(0,'小雨')
print(name_list) # ['小雨', '小明', '小芳', '小刚']
name_list.insert(100, '小A')
name_list.issert(99, '小B')
#索引超过最大索引,插入到最右侧
print(name_list) #['小雨', '小明', '小芳', '小刚', '小A', '小B']
extend(序列) 合并数据 可以对其他的序列进行合并
name_list = ['小明', '小芳', '小刚']
name_list.extend(['小雨', '小李'])
print(name_list) # ['小明', '小芳', '小刚', '小雨', '小李']
new_list = ['A','B']
new_list.extend('data')
print(new_list) #['A','B','d','a','t','a']
删除 del() remove() pop() clear()
del(目标)
name_list = ['小明', '小芳', '小刚']
del(name_list)
print(name_list) #会报错,提示name_list未声明
new_list = ['apple','banana']
del new_list[0]
print(new_list) #['banana']
remove 根据数据删除
name_list = ['小明', '小芳', '小刚']
name_list.remove('小明')
print(name_list)
pop 删除指定下标的数据,默认删除最后一个 #返回被删除的数据
name_list = ['小明', '小芳', '小刚']
print(name_list.pop(0)) # 小明
print(name_list.pop()) # 小刚
print(name_list) # ['小芳']
clear 清除列表中的所有元素
name_list = ['A', 'B', 'C']
name_list.clear()
print(name_list) #[]
修改
赋值修改
name_list = ['A', 'B', 'C']
name_list[0] = 'D'
print(name_list) # ['D', 'B', 'C']
reverse() 倒置 反转
name_list = ['A', 'B', 'C']
name_list.reverse()
print(name_list) #['C', 'B', 'A']
sort() 排序
name_list = [1,2,6,4,5]
name_list.sort() #默认升序
print(name_list) # [1,2,4,5,6]
#sort(key = *,reverse = false) 默认不反转
列表的循环遍历
len() 获取序列的数据个数
name_list = [1,2,3,4,5]
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
name_list = [1,2,3,4,5]
for i in name_list:
print(i)
列表的嵌套使用
list1 = [[1,2,3],[4,5,6],[7,8,9]]
print(list1[1][0]) # 4
了解元组 存储数据 不可更改的,只可以进行查看
当创建单个元组时,需要跟上逗号","
data = ('小明', '小芳', '小刚')
print(data)
print(type(data))
data1 = ('小明')
data2 = ('小明',)
print(type(data1)) #str
print(type(data2)) #tuple
元组中的可变类型,是可以被更改的
data = ('小明', '小芳', [1,2,3])
data[2][0] = 'a'
print(data) #('小明', '小芳', ['a', 2, 3])
元组的查看方法 索引 index count len
data = [1,2,2,4,5]
print(data[0]) # 1
print(data.index(2)) # 1
print(data.count(2)) # 2
print(len(data)) # 5