版权声明:原创文章转载请注明出处~ https://blog.csdn.net/PecoHe/article/details/89927120
Python中的字典与集合
7.1 字典
字典,类似于我们日常中所使用的字典,是一种映射存储的方式。字典分为两个部分,一个是键(key),一个是key所关联的值(value)。我们可以认为,一个键关联(或绑定)一个值,称为键值对。字典就是以键值对的形式来存储数据的。
7.1.1 字典的创建
我们可以使用如下方式来创建字典:
使用键值对:
x = {“a”: “x”, “b”: “y”}
使用dict函数:
x = dict(a=“x”, b=“y”)
创建字典后,我们也可以增加或删除字典的键值对。
x[“new_key”] = “new value”
del x[“new_key”]
7.1.2 字典的特征
字典具有如下特征:
- 字典的键必须是不可变(可哈希)的类型。
- 字典的键是不可重复的。
- 字典中的键值对不保证是有顺序的。
7.1.3. 相关方法
get(key[, default])
pop(key[, default])
keys()
values()
items()
clear()
setdefault(key[,default])
update([E, ]**F)
popitem()
fromkeys(iterable, value=None)
copy()
7.1.4. 字典的运算
字典支持如下的运算符:
符号 | 说明 |
---|---|
e in x | 如果x中存在e键,返回True,否则返回False。 |
e not in x | 如果x中不存在e键,返回True,否则返回False。 |
x ==,!= y | 比较x,y的键值对. |
x is,is not y | 判断x,y是否为同一个字典 |
x 布尔 y | 与数值类型的布尔运算规则相同(返回两个字典中的一个) |
说明:
- 假设上表中,x与y是字典类型,e为某元素(代表键)。
- 字典不支持 >= 与 <= 运算。
- len函数也可以应用与字典类型,返回字典中键值对的个数。
7.2. 集合
7.2.1. 集合的创建
集合可以包含一组元素,与字典类似,也是使用{}来表示。不同的是,字典存储的是一组键值对,而集合存储的是单一元素。
例如:
s = {1, 2, 3, 4}
如果在创建集合时,指定了重复的元素,则重复的元素会自动的去除。如果想要创建一个空的集合,不能使用:
扫描二维码关注公众号,回复:
6235686 查看本文章
s = {}
而是需要使用:
s = set()
因为前者创建的不是空的集合,而是空的字典。
7.2.2. 集合的特征
集合具有如下特征:
- 集合中不含有重复的元素。
- 集合中不保证元素是有顺序的。
- 集合中的元素类型必须是可哈希类型。
7.2.3. 集合的运算
集合支持以下运算:
符号 | 说明 |
---|---|
e in x | 如果x中存在e键,返回True,否则返回False。 |
e not in x | 如果x中不存在e键,返回True,否则返回False。 |
x & y | 返回x与y的交集,相当于x. intersection(y)。 |
x l y | 返回x与y的并集,相当于x.union(y)。 |
x - y | 返回x与y的差集,相当于x. difference(y)。 |
x ^ y | 返回x与y的对称差集,相当于x. symmetric_difference(y)。 |
x ==,!= y | 比较x,y中的元素是否一致。 |
x >,>=,<=,< y | 比较x是否为y的父集(子集) |
x is,is not y | 判断两个集合是否为同一个集合 |
x 布尔 y | 与数值类型的布尔运算规则相同(返回两个集合中的一个) |
说明:假设上表中,x与y是集合类型,e为某元素。
7.2.4. 相关方法
add(elem)
remove(elem)
discard(elem)
pop()
clear()
copy()
difference(*s)
difference_update(*s)
intersection(*s)
intersection_update(*s)
union(*s)
update(*s)
symmetric_difference(s)
symmetric_difference_update(s)
isdisjoint(s)
issubset(s)
issuperset(s)
7.3. 数据转换
int(x) #将x转换成为一个整数
float(x) #将x转换成为一个浮点数
str(x) #将x转换成为一个字符串
bool(x) #将x转换成为布尔类型
tuple(s) #将序列转换成元组
list(s) #将序列转换成列表
set(s) #将序列转换成集合
dict(d) #将一个元素为kw形式的序列转换成字典