python数据容器
列表与字符串
- 列表和字符串都是序列,元素有先后顺序
- 字符串是不可变序列,列表是可变序列
- 字符串中每个元素只能存储字符,列表可以存储任意类型
- 列表和字符串都是可迭代对象
将多个字符串拼接为一个:result="连接符".join(列表)
将一个字符串拆分为多个:列表="a-b-c-d".split("分隔符")
列表推导式
将可迭代对象转换为列表变量=[表达式 for 变量 in 可迭代对象]
变量=[表达式 for 变量 in 可迭代对象 if 条件]
如果if为false,则可迭代对象生成的数据将被丢弃
元组
一系列变量组成的不可变容器序列,一旦创建,不可再添加/删除/修改元素。
创建元组元组名=()
元组名=tuple()
元组名=(20,)
元组名=100,200,300
元组名=tuple(可迭代对象)
获取元组:索引、切片
遍历元组:
正向:for 变量名 in 列表名:
变量名是元素
反向:for 索引名 in range(len(列表名)-1,-1,-1):
元组名[索引名]是元素
字典
- 一系列键值对组成的可变散列容器
- 映射:一对一的对应关系,每条记录无序
- 键必须唯一且不可变(字符串/数字/元组),值没有限制
创建字典字典名={键1:值1,键2:值2}
字典名=dict(可迭代对象)
添加/修改元素:字典名[键]=数据
键不存在,创建记录。键存在,修改隐射关系。
获取元素变量=字典名[键]
没有键则错误
遍历字典↓
for 键名 in 字典名:
字典名[键名]
for 值名 in 字典名.values():
语句
for 键名,值名 in 字典名.items():
语句
删除元素:del 字典名[键]
字典推导式
使用简易方法,将可迭代对象转换为字典{键:值 for 变量 in 可迭代对象}
{键:值 for 变量 in 可迭代对象 if 条件}
集合
一系列不重复的可变类型变量组成的可变散列容器。
相当于只有键没有值的字典。
添加元素:集合名.add(元素)
删除元素:集合名.discard(元素)1
#示例条件,下同
s1={1,2,3}
s2={2,3,4}
交集运算:返回共同元素s3=s1&s2 #结果{2,3}
并集运算:返回不重复元素s3=s1|s2 #结果{1,2,3,4}
补集运算:返回只属于其中之一的元素s1-s2 #属于s1但不属于s2,结果{1}
对称补集:返回不同的元素s3=s1^s2 #结果{1,4} 等同于(s1-s2|s2-s1)
子集<
:判断一个集合的所有元素是否完全在另一个集合中
超集>
:判断一个集合是否具有另一个集合的所有元素s1={1,2,3}
s2={2,3}
s2<s1 #true
s1<s2 #true
相同==
,不同!=
:判断集合中的所有元素是否和另一个集合相同。s1={1,2,3}
s2={3,2,1}
s1==s2 #true
s1!=s2 #false
子集或相同<=
,超集或相同>=
集合推导式
使用建议方法,将可迭代对象转换为集合。{表达式 for 变量 in 可迭代对象}
{表达式 for 变量 in 可迭代对象 if 条件}
循环嵌套
本文地址:https://blog.csdn.net/u014639859/article/details/107967662
上一篇: python基础语法入门,列表和字典使用
下一篇: 数据结构算法--单词接龙(C++)