欢迎访问宙启技术站
智能推送

Python中的字典和集合函数有哪些?

发布时间:2023-06-16 06:54:45

Python是一种高级编程语言,拥有许多实用的数据结构和函数。其中,字典和集合是Python的两个非常实用的数据结构。字典是一种无序的键值对集合,而集合是一种无序不重复元素的集合。在Python中,字典和集合是非常常用的数据结构,它们能够非常方便地进行快速的查找和去重操作。本文将介绍一些Python中常用的字典和集合函数。

字典函数

1. clear()

clear()函数可以清空字典,将字典中所有的键值对都删除。

示例代码:

dict = {'name': 'jack', 'age': 20}
dict.clear()
print(dict)

输出结果:

{}

2. copy()

copy()函数用于复制一个字典。由于字典是可变对象,如果直接将字典赋值给另外一个变量,那么改变原字典的值也会影响到新变量。因此,使用copy()函数可以创建一个新的字典,它包含着原字典的所有键值对,但是它们是两个不同的对象,互不干扰。

示例代码:

dict1 = {'name': 'jack', 'age': 20}
dict2 = dict1.copy()
dict1.clear()
print(dict2)

输出结果:

{'name': 'jack', 'age': 20}

3. get()

get()函数用于获取字典中指定键的值。如果指定的键不存在,该函数不会报错,而是返回一个指定的默认值,如果不指定默认值,则返回None。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.get('name'))
print(dict.get('sex', 'male'))
print(dict.get('class'))

输出结果:

jack
male
None

4. items()

items()函数可以返回包含所有键值对的元组的列表。每个元组的第一个元素是键,第二个元素是对应的值。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.items())

输出结果:

dict_items([('name', 'jack'), ('age', 20)])

5. keys()

keys()函数返回字典中所有键的列表。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.keys())

输出结果:

dict_keys(['name', 'age'])

6. values()

values()函数返回字典中所有值的列表。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.values())

输出结果:

dict_values(['jack', 20])

7. pop()

pop()函数用于删除字典中指定键的值,并返回该键对应的值。如果指定的键不存在,则抛出KeyError异常。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.pop('name'))
print(dict)

输出结果:

jack
{'age': 20}

8. popitem()

popitem()函数用于从字典中随机删除一对键值对,并返回该键值对。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.popitem())
print(dict)

输出结果:

('age', 20)
{'name': 'jack'}

9. setdefault()

setdefault()函数用于获取指定键的值。如果该键不存在,则会在字典中添加一个新的键值对,并将该值设置为指定的默认值。如果不指定默认值,则默认为None。

示例代码:

dict = {'name': 'jack', 'age': 20}
print(dict.setdefault('name', 'tom'))
print(dict.setdefault('class', 'one'))
print(dict)

输出结果:

jack
one
{'name': 'jack', 'age': 20, 'class': 'one'}

10. update()

update()函数用于将一个字典添加到另一个字典中。如果存在相同的键,那么后面的字典会覆盖前面的字典。

示例代码:

dict1 = {'name': 'jack', 'age': 20}
dict2 = {'sex': 'male', 'age': 25}
dict1.update(dict2)
print(dict1)

输出结果:

{'name': 'jack', 'age': 25, 'sex': 'male'}

集合函数

1. add()

add()函数用于向集合中添加一个元素。如果元素已经存在于集合中,则不会添加。

示例代码:

set = {1, 2, 3}
set.add(4)
set.add(2)
print(set)

输出结果:

{1, 2, 3, 4}

2. clear()

clear()函数用于清空集合中的所有元素。

示例代码:

set = {1, 2, 3}
set.clear()
print(set)

输出结果:

set()

3. copy()

copy()函数用于复制一个集合。由于集合是可变对象,因此如果直接将集合赋值给另外一个变量,那么改变原集合的值也会影响到新变量。因此,使用copy()函数可以创建一个新的集合,它包含着原集合的所有元素,但是它们是两个不同的对象,互不干扰。

示例代码:

set1 = {1, 2, 3}
set2 = set1.copy()
set1.clear()
print(set2)

输出结果:

{1, 2, 3}

4. difference()

difference()函数用于返回一个包含集合中所有元素的新集合,这些元素存在于当前集合中,但不存在于另一个集合中。

示例代码:

set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.difference(set2))

输出结果:

{1}

5. intersection()

intersection()函数用于返回一个新集合,其中包含两个或多个集合中都存在的元素。

示例代码:

set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.intersection(set2))

输出结果:

{2, 3}

6. union()

union()函数用于返回两个或多个集合的并集,包含所有集合中的元素,而不重复计算。

示例代码:

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {5}
print(set1.union(set2, set3))

输出结果:

{1, 2, 3, 4, 5}

7. isdisjoint()

isdisjoint()函数用于判断两个集合是否没有共同的元素。如果两个集合没有共同的元素,则返回True,否则返回False。

示例代码:

set1 = {1, 2, 3}
set2 = {4, 5, 6}
set3 = {3, 4}
print(set1.isdisjoint(set2))
print(set1.isdisjoint(set3))

输出结果:

True
False

8. issubset()

issubset()函数用于判断当前集合是否为另一个集合的子集。如果当前集合是另一个集合的子集,则返回True,否则返回False。

示例代码:

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
set3 = {6}
print(set1.issubset(set2))
print(set1.issubset(set3))

输出结果:

True
False

9. issuperset()

issuperset()函数用于判断当前集合是否为另一个集合的父集。如果当前集合是