集合和字典
文章目录
一、集合(set):
定义:
- 1.由不同的元素组成
- 2.是无序的不重复的元素序列bi-
- 3.集合的元素必须是不可变类型
可以用{}
或set()
函数来创建集合,注意:创建一个空集合必须要用set()
而不是{}
,因为{}
是用来创建一个空字典的。
1.创建格式:
par = {value1,value2,value3,...}
或者
set(value)
向集合中添加元素
s.add(a)#a 如果a已经存在,不进行任何操作
或者
s.update(a)#a可以是列表,元组,字典等。
a 可以是多个,用逗号隔开。
2.移除元素:
s.remove(a)#将a从集合中移除出去,如果元素不存在,会报错。
s.discard(a)#将a从集合s中移除出去,如果元素不存在,也不会发生错误
s.pop()#随机删除集合中的一个元素。
set 集合的pop方法会对集合进行无序的排序,然后将这个无序排列集合的左面第一个元素进行删除。
3.计算集合元素:
len(s)#计算集合s中元素的个数
4.清空集合:
s.close()#清空集合s
5.判断元素是否在集合中存在:
a in s#判断元素a 是否在集合 s 中,存在返回True,不存在返回False。
6.集合中内置方法
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference update() | 移除集合中的元素,此元素在指定集合也存在 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection update() | 返回集合的交集 |
isdisjoint() | 判断两个集合是否包含相同的元素,没有返回True,否则返回False |
issubset() | 判断指定集合是否为该方法参数集合的子集 |
issuperset() | 判断该方法参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric difference() | 返回两个集合中不重复的元素集合 |
symmetric difference update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中 |
union() | 返回两个集合的并集 |
update() | 危机和添加元素 |
二、字典(dictionary):
- Python内置了字典:dict的支持,dict全程dictionary。字典是另一种可变容器模型,且可存储任意类型对象。
- 字典具有极快的查找速度。
- 键必须是唯一的,而值就不必
- 值可以是任意类型,键必须是不可变的
- len():返回字典 键:值对的数量。
- d[k]:返回关键字对应的值。
- d[k] = v:将值关联到键值k上。
- del d[k]:删除键值为k的项。
- key in d:键值key是否在d中,是返回True,否则返回False
1. 字典的基本格式:
d = {key1:value1,key2:value2}
字典的键(key)必须不可变,值(key)可以为任意数据类型。字典是无序的,每次执行打印,顺序都会发生改变
2.字典操作:
len(dict)
:计算字典元素个数,即间的总数。
str(dict)
:输出字典,以可打印的字符串表示。
type(variable)
:返回输入的变量类型,如果变量是字典,就返回字典类型。
3.字典的方法:
del(key)
:删除字典中的元素。
clear()
:清空字典。
del 字典名
:删除字典。
iteams()
:循环获取字典的key和value。
keys()
:循环获取字典中所有的key。
values()
:循环获取字典中所有的value。
copy()
:浅拷贝
fromkeys()
:创建一个新字典,fromkeys(*args,**kwargs)以 *args做字典的键,**kwargs为所有键的对应初始值。
pop()
:删除指定的key。
popitem()
:随机删除一个键值对。
setdefault()
:给字典添加新的键,存在就不执行,不存在就增加并返回键对应的值。
update()
:更新字典。