多语言展示
当前在线:615今日阅读:126今日分享:42

Python中字典和集合的常用操作

Python中的字典和集合是非常相似的数据类型,字典是无序的键值对。集合中的数据是不重复的,并且不能通过索引去修改集合中的值,我们可以往集合中新增或者修改数据。集合是无序的,并且支持数学中的集合运算,例如并集和交集等。
工具/原料

Jupyter

方法/步骤
1

我们来看一下字典和拷贝和赋值操作,如下所示的字典a,我们将字典a赋值给字典b,然后我们将字典a重新赋值,此时再查看字典a和字典b,会发现两个值不同了。如果a不是重新赋值,而是使用clear方法,则会影响到b的值。

2

我们使用copy()方法将a浅拷贝到b,然后将a赋值给c,此时我们使用id()方法查看三个值的地址,可以发现a和c的地址是相同的,和b的地址是不同的。我们给c新增一个值,此时会在a中也新增,但是b不会新增。

3

在字典中我们使用pop方法弹出指定的键值对,也可以使用popitem(),此时弹出并没有一定的顺序。我们使用setdefault()方法给定一个键,值为None。使用update()方法将一个字典的键值对添加到另一个字典中。我们也可以将两个列表整合到一个字典中,如下图所示。

4

上面我们介绍了字典的赋值内存地址是相同的,那么有没有方法改变内存地址呢?我们这里介绍深拷贝,需要导入copy模块,使用copy.deepcopy(),如下图所示。

5

我们来讲一下集合的创建,我们可以使用{}去创建集合,例如set1 = {1,2,3,4,5},也可以使用set()方法去创建,例如set2 = set([1,2,3,4])。关于集合的操作,我们可以使用set1.add(6)往集合中添加元素,也可以使用set1.update(set2)把集合set2的元素添加到set1中,set1.remove(6)移除元素。

6

set2 - set1 获取集合的差,set1 | set2 获取集合的并集,set1 & set2 获取集合的交集。set1 ^ set2 只返回只被set1或者set2包含的,set1 > set2 如果set1包含set2则返回true,list(set([1,1,2,2,3,3])) set常用于去重。

注意事项

注意字典和集合都是无序的

推荐信息