Python基础语法(5)
集合set
特点:
-
集合中的元素没有索引。也就是无法遍历取出.
-
集合中的元素是唯一的,不存在重复的元素。
可以通过将List转化为set再转化回List来给List去重。
代码示例:
列表去重复 li=[1,2,3,2,3,3,1,2] set_li=set(li) list_li=list(set_li)
-
集合的标志是“,”,外面的“()”是可以省略的。声明一个集合时,如果声明s=(),此时s是一个“tuple”类型;如果声明s=(1),此时s是“int”类型;如果声明s=('1'),此时s是“str”类性。要想声明一个空的集合,应该使用如下代码:
s=set()#声明空集合
方法
add添加数据
向集合中添加元素。
代码示例:
#初始化
set01=set()
#添加数据
set01.add(1)
set01.add(2)
print(set01)
discard()删除数据
再集合中删除括号内填写的数据(删除集合中不存在的数据时不会报错)
代码示例:
set01.discard(2)#2是元素不是索引
remove()删除数据
和discard()的效果相同,不过当删除不存在的元素时会报错,可以结合异常信息处理对删除信息情况进行判断。
代码示例:
set.remove(2)#2是元素不是索引
pop()删除集合末尾元素
每次删除都会移除当前集合的末尾元素。
代码示例:
set01.pop()
取交集
取交集的方法有两种:
- intersection
- intersection_update取交集并更新自己
代码示例:
s0={1,2,3,4,5,6,7,8,9}
s1={6,8,9}
s2={8,19,9}
s3=s1.intersection(s2)
print(s3)
print(s1)
s3=s1.intersection_update(s2)
print(s3)
print(s1)
输出结果:
{8, 9}
{8, 9, 6}
None
{8, 9}
取并集
使用union()方法。
代码示例:
s4=s1.union(s2)
print(s4)
输出结果:
{19, 8, 9}
合并(类似于补集)
代码示例:
s5=s1.symmetric_difference(s2)
print(s5)
输出结果:
{19, 6}
相当于用s1,s2的并集减去它们的交集。
交集间关系运算
-
isdisjoint()判断是否不存在交集
-
issubset()判断括号内的集合是否是某集合的子集
-
issuperset()判断括号内的集合是否是某集合的父集
当两者有交集的时候返回False,没有交集返回True。
代码示例:se = {11, 22, 33} be = {22} print(se.isdisjoint(be)) # False,判断是否不存在交集(有交集False,无交集True) print(se.issubset(be)) # True,判断se是否是be的子集合 print(se.issuperset(be)) #True,判断se是否是be的父集合
字典 Dictionary
特点
- 字典是可变类型。
- 字典中的元素没有索引,所以字典中的元素不能排序和切片。
- 字典中的元素由Key和value组成。
字典的初始化
uu={}
给字典赋值
uu['name']='sam'
删除字典中的元素
del uu['name']
遍历字典
-
遍历输出key
#for item in user.keys() for item in user:#在user后面神略了一个kyes,打印的实际是key的数组 print(item)
-
遍历输出value
for value in user.values(): print(value)
当访问不存在的key时会报错。
网友评论