列表是用来存放多个值
[]内用逗号分隔,列表内元素屋类型限制
但凡能用for取出的一个个值的,就能把它放入list列表
补充for循环
range()和切片用法相同
取头不取尾,步长
range用来打印索引和索引对应的值
enumerate(列表/字符串)
既要索引又要值使用enumerate()更方便
排序
.sort() 正序排列
.reverse() 倒序排列
.sort(reverse = Ture) 倒序排列
列表比较
只能同类型直接比较大小,对有索引的值的比较,是按照位置一一对应的
增
.extend(列表)添加多个元素
.append()添加一个元素,参数放列表的话,会被当成一个元素,添加到列表里
删
.remove(元素)删除返回的是None
.pop()不加参数默认删除末尾
.pop(索引)删除索引对应的值
.pop能把值弹出来(取走一个值)
改
列表[‘元素‘] = 任意值
查
.index(‘元素‘,起始位置,结束位置)查找元素的索引值
.count(‘元素‘)查找列表中对应元素个数
字典
以k:v的形式存多个值
存取都快,每个k对应一个V
{}内以逗号分隔元素,其中格式为k:v
其中key必须为不可变类型,value可以是任意类型
字典没有索引,根据key取值
key不能重复
成员运算按照key
查
字典.keys()
字典.values()
字典.items()
.get(元素) 返回对应的value,找不到返回None
增
.updata(字典) 对新字典来说,更新指,新有老无则添加,新有老有则覆盖(文件合并)
.fromkey(列表,None) 快速产生一个模板字典
改
字典[key] = 任意值
.setdefault(列表)字典中有KEY,则不修改,返回原key对应的原值,没有对应的KEY,则添加,返回添加的KEY对应的VALUE
删
.pop(元素,None) 找不到元素,返回None
.popitem() 随机弹出一个键值对
集合
set()
在{}内用逗号分隔开一个个元素
注意的问题
1.集合内没有重复的元素
2.集合内的元素必须是不可变类型
用途
1.关系运算
2.去重
交集$
并集 |
差集 -
交叉补集 ^
增
.add() 一次加一个值
.updata() 一次加多个值
删
.discard() 删除的元素不存在时,不报错
.remove() 删除的元素不存在时,报错查
s1={1,‘a‘,‘b‘,‘c‘,‘d‘}
for item in s1:
print(item)
去重
s1={1,‘a‘,‘b‘,‘c‘,‘d‘}
l_new=[]
s=set()
for item in l:
if item not in s:
s.add(item)
l_new.append(item)
元组
tuple()
元组是“不可变的列表”但他的本质不是列表
在多个值只有读的需求没有改的需求
在元素数相同时,元组更节省空间
元组的值不能被更改
他仅有index()和count()
其他用法与列表一样
# 步长不够的情况怎么办
msg=[1,2,3,4,5,6,7]
print(msg[1:5:2])
#[2,3,4,5]
print(msg[1:4:2])
#[2,3,4]
步长为2,列表里的值只有三位也能取到
元素