python中的容器:
1.列表
列表是一种容器,也是序列的一种,列表是可变序列,存储元素只有顺序关系
L=[ ] L=list() L=list(iterable)
支持索引,切片,索引赋值,切片赋值
列表推导式[表达式 for 变量 in 可迭代对象]
或
[表达式 for 变量 in 可迭代对象 if 真值表达式]
列表推导式的嵌套:
L=[x+y for x in "123" for y in "ABC"]
L=["1A","1B","1C","2A","2B","2C","3A","3B","3C"]
2.元组
元组是不可变序列,同list一样,元组是可以存放任意类型的容器
t=() tuple() tuple(iterable)用可迭代对象生成一个元组
创建非空元组
t=200,
t=(20,)
t=(1,2,3)
t=100,200,300
注意:不要把创建元组写为序列赋值,元组不支持索引赋值和切片赋值
3.字典
字典是一种可变的容器,可以存储任意类型的数据
字典是无序的 用键(key)索引,以键-值对形式进行映射存储
字典的键不能重复,只能用不可变类型作为字典的键
{}括起来 以:分割键值对,键值对之间用,分开
d={ } dict() dict(iterable)
dict(**kwargs)用关键字传参形式生成一个字典
添加修改字典的元素 字典[键]=值
删除 del 字典[键]
not in 和in 运算符用来判断一个键是否存在于字典中
字典是可迭代对象,字典只能对键进行迭代访问
字典推导式
语法:
{ 键表达式: 值表达式 for 变量 in 可迭代对象 [if真值表达式]}
注: [] 及其中的内容代表可省略字典推导式可以嵌套语法同列表推导式
字典是映射存储 列表是顺序存储
字典的查找速度可能会快于列表(importment)
4.集合 set
集合是可变的容器
集合内的数据对象都是唯一的(不能重复多次的)
集合是无序的存储结构,没有先后顺序
集合内的元素必须是不可变的对象
集合可迭代
创建空集合
set()
创建非空集合
s={1,2,3} set(iterable)
集合运算
交集 & 并集 | 补集- 子集< 超集> 对称补集^
s1={1,2,3}
s2={2,3,4}
s3=s1-s2 #s3={1}
s3=s2-s1 #s3={4}
集合和字典的优点:
in / not in运算符的查找速度快
集合推导式
{表达式for 变量 in 可迭代对象 [if 真值表达式]}
注:[] 括起的部分代表可省略
推导式内的 for 子句可以嵌套
5.固定集合 frozenset
固定集合是不可变的,无序的,含有唯一元素的集合
可以作为字典的键 ,也可以作为集合的值
fz=frozenset()
frozenset(iterable)
固定集合运算同set完全一致
python中常用的序列函数
len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
sorted(iterable,reverse=Fasle)
reversed(seq)返回原序列反序的可迭代独对象
字符串的文本解析放法
S.split(sep=None)将字符串使用sep作为分割符分割S字符串
返回分割后的字符串列表,当不给定参数是默认用空白作为分隔符分割
S.join(iterable)用可迭代对象中提供的字符串返回一个中间用S进行
分割的字符串