Python中的字典与集合

版权声明:原创文章转载请注明出处~ https://blog.csdn.net/PecoHe/article/details/89927120

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形式的序列转换成字典

猜你喜欢

转载自blog.csdn.net/PecoHe/article/details/89927120