Python序列
序列的切片操作 序列[num1:num2:num3] num1:开始下标 num2:结束下标 num3:步长 适用于 列表,元组,range对象,字符串
1.列表(可变序列) 使用 list(其他类型对象) 转化为list对象
形式[1,2,3] ['num','char','type'] [1,2,'type'] [1,21,'type',[1,2,3],["num","type"]]
方法
append(元素) | 在末尾追加元素 |
extend(列表) | 在末尾追加列表 |
insert(index,x) | 在index出插入x,从0开始 |
remove(x) |
删除首次出出现的X元素 |
pop(index) | 删除index位置的值,并返回,无参则删除最后一个 |
clear() | 删除列表元素保留对象 |
index(x) | 返回x元素下标,无报错 |
count(x) | 返回x出现的次数 |
reverse() | 对列表元素原地翻转 |
sort() | 列表元素原地排序 |
del list | 删除列表不保留对象,如果具体到某一元素则删除列表中的某一元素 |
copy() | 返回一个复制list对象,id与原不同 |
2元组(不可变序列,一旦创建不可修改元素值,无法增减) 使用 tuple(其他类型对象) 转化成元组对象
创建 单元素元组 a=1, 或a=(1,) 多元素 a=1,2,3 或 a=(1,2,3) 删除只能使用 del 元组名
3字典(键值对的无序可变序列)
创建 (1)手动赋值 a={'k':'v','k':'v','k':'v'} (2)内置函数赋值 (如果k,v 对应的数量不同建立字典时会最少匹配,多的k或v的元素会被抛弃)
k=['k1','k2','k3'] v=['v1','v2','v3'] dir=dict(zip(k,v))
(3)dict()直接创建
dict(k="",v="")
4方法
字典名['key'] | 获取key对应的value无则报错 |
get('key','指定元素可选') | 获取value,不存在返回none,可选元素指定则可在key不存在时候返回指定元素 |
items() | 以元组形式返回字典元素 |
字典1.update(字典对象2) | 将2添加到1中,1id不变没有生成新字典 |
添加字典元素
字典['key']=value #如果key存在用新value替换旧value,若key不存在则添加进字典不改变id
5集合(无序可变序列,集合中元素唯一) 使用 set(其他对象) 装换为集合对象
方法
add(元素) | 加入集合 |
pop() | 弹出并删除集合中首元素 |
remove(指定元素) | 删除指定元素 |
clear() | 删除所有元素但保留集合 |
操作
set1 | set2 | set1.union(set2) | 并集,生成新的集合 |
set1 & set2 | set1.intersection(set2) | 交集,同上 |
set1-set2 | set1.difference(set2) | 返回前者有后者无的元素 |
set1^set2 | set1.symmetric_difference(set2) | 对称差,去除两个集合中相同元素再并集,两集合无前后差异 |
< > |
set1.issubset(set2) |
集合大小的比较是测试集合的包容性,如果set1元素全部包含于set2则set2>set1成立返回true issubset可阅读为 set1是否包含于set2 或set1是否为set2的子集 |