欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python数据容器

程序员文章站 2022-12-04 20:50:27
列表与字符串列表和字符串都是序列,元素有先后顺序字符串是不可变序列,列表是可变序列字符串中每个元素只能存储字符,列表可以存储任意类型列表和字符串都是可迭代对象将多个字符串拼接为一个:result="连接符".join(列表)将一个字符串拆分为多个:列表="a-b-c-d".split("分隔符")列表推导式将可迭代对象转换为列表变量=[表达式 for 变量 in 可迭代对象]变量=[表达式 for 变量 in 可迭代对象 if 条件]如果if为false,则可迭代对象生成的数据...

列表与字符串

  • 列表和字符串都是序列,元素有先后顺序
  • 字符串是不可变序列,列表是可变序列
  • 字符串中每个元素只能存储字符,列表可以存储任意类型
  • 列表和字符串都是可迭代对象

将多个字符串拼接为一个:
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

相关标签: AID python 容器