四、字典和集合

4.1 字典的基本操作和常用方法

字典是Python中的一种数据类型,用于存储键值对。字典中的每个元素都是一个键值对,其中的键和值可以是任意类型的对象。字典中的键必须是唯一的,而值可以重复。

在Python中,可以使用大括号{}或者dict()函数来创建一个字典。例如:

# 创建一个字典
dict1 = {"name": "Alice", "age": 18, "gender": "female"}
dict2 = dict(name="Bob", age=21, gender="male")

可以使用键来访问字典中的值。例如:

# 访问字典中的值
print(dict1["name"])  # 输出:Alice
print(dict2["age"])  # 输出:21

如果访问的键不存在于字典中,会抛出KeyError异常。可以使用get方法来避免这种情况。例如:

# 使用get方法访问字典中的值
print(dict1.get("name"))  # 输出:Alice
print(dict1.get("height"))  # 输出:None
print(dict1.get("height", 170))  # 输出:170

其中,get方法的第二个参数为默认值,如果访问的键不存在于字典中,就返回默认值。

可以使用in运算符来判断一个键是否存在于字典中。例如:

# 判断一个键是否存在于字典中
print("name" in dict1)  # 输出:True
print("height" in dict1)  # 输出:False

可以使用keys方法来获取字典中所有的键。例如:

# 获取字典中所有的键
print(dict1.keys())  # 输出:dict_keys(['name', 'age', 'gender'])

可以使用values方法来获取字典中所有的值。例如:

# 获取字典中所有的值
print(dict1.values())  # 输出:dict_values(['Alice', 18, 'female'])

可以使用items方法来获取字典中所有的键值对。例如:

# 获取字典中所有的键值对
print(dict1.items())  # 输出:dict_items([('name', 'Alice'), ('age', 18), ('gender', 'female')])

可以使用update方法来更新字典中的键值对。例如:

# 更新字典中的键值对
dict1.update({"age": 19, "height": 170})
print(dict1)  # 输出:{'name': 'Alice', 'age': 19, 'gender': 'female', 'height': 170}

可以使用pop方法来删除字典中的键值对。例如:

# 删除字典中的键值对
dict1.pop("height")
print(dict1)  # 输出:{'name': 'Alice', 'age': 19, 'gender': 'female'}

可以使用clear方法来清空字典。例如:

# 清空字典
dict1.clear()
print(dict1)  # 输出:{}

到这里,我们介绍了字典的基本操作和常用方法,这些操作可以让我们更加方便地处理字典。

4.2 集合的基本操作和常用方法

集合是Python中的一种数据类型,用于存储一组无序、不重复的元素。集合中的元素必须是可哈希的,因此不能包含可变的对象,如列表、字典等。

在Python中,可以使用大括号{}或者set()函数来创建一个集合。例如:

# 创建一个集合
set1 = {1, 2, 3, 4, 5}
set2 = set([3, 4, 5, 6, 7])

可以使用in运算符来判断一个元素是否存在于集合中。例如:

# 判断一个元素是否存在于集合中
print(3 in set1)  # 输出:True
print(6 in set1)  # 输出:False

可以使用add方法来添加元素到集合中。例如:

# 添加元素到集合中
set1.add(6)
print(set1)  # 输出:{1, 2, 3, 4, 5, 6}

可以使用remove方法来从集合中删除指定的元素。如果删除的元素不存在于集合中,会抛出KeyError异常。例如:

# 从集合中删除指定的元素
set1.remove(6)
print(set1)  # 输出:{1, 2, 3, 4, 5}

可以使用discard方法来从集合中删除指定的元素。如果删除的元素不存在于集合中,不会抛出异常。例如:

# 从集合中删除指定的元素
set1.discard(6)
print(set1)  # 输出:{1, 2, 3, 4, 5}

可以使用pop方法来从集合中删除任意一个元素,并返回被删除的元素。如果集合为空,会抛出KeyError异常。例如:

# 从集合中删除任意一个元素,并返回被删除的元素
elem = set1.pop()
print(elem)  # 输出:1
print(set1)  # 输出:{2, 3, 4, 5}

可以使用clear方法来清空集合。例如:

# 清空集合
set1.clear()
print(set1)  # 输出:set()

可以使用union方法来获取两个集合的并集。例如:

# 获取两个集合的并集
set3 = set1.union(set2)
print(set3)  # 输出:{3, 4, 5, 6, 7}

可以使用intersection方法来获取两个集合的交集。例如:

# 获取两个集合的交集
set4 = set1.intersection(set2)
print(set4)  # 输出:set()

可以使用difference方法来获取两个集合的差集。例如:

# 获取两个集合的差集
set5 = set1.difference(set2)
print(set5)  # 输出:set()

到这里,我们介绍了集合的基本操作和常用方法,这些操作可以让我们更加方便地处理集合。

4.3 字典和集合的高级操作

1. 字典推导式

字典推导式是一种快速创建字典的方式,可以使用简洁的语法来生成具有特定规律的字典。例如:

# 创建一个包含1到10的数字和它们的平方的字典
squares = {x: x ** 2 for x in range(1, 11)}
print(squares)  # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

在字典推导式中,可以使用if语句来筛选元素,并使用表达式来生成键和值。例如:

# 创建一个包含1到10中的偶数和它们的平方的字典
even_squares = {x: x ** 2 for x in range(1, 11) if x % 2 == 0}
print(even_squares)  # 输出:{2: 4, 4: 16, 6: 36, 8: 64, 10: 100}
2. 字典的常用方法

字典是Python中的一种数据类型,用于存储一组键值对。在字典中,键必须是可哈希的,值可以是任意类型的对象。

可以使用get方法来获取字典中指定键对应的值。如果键不存在于字典中,会返回None或者指定的默认值。例如:

# 获取字典中指定键对应的值
dict1 = {"name": "Alice", "age": 18}
print(dict1.get("name"))  # 输出:Alice
print(dict1.get("gender", "unknown"))  # 输出:unknown

可以使用pop方法来从字典中删除指定的键值对,并返回被删除的值。如果键不存在于字典中,会抛出KeyError异常。例如:

# 从字典中删除指定的键值对
dict1.pop("age")
print(dict1)  # 输出:{"name": "Alice"}

可以使用update方法来更新字典中的键值对。如果指定的键已经存在于字典中,会覆盖原来的值;如果指定的键不存在于字典中,会创建一个新的键值对。例如:

# 更新字典中的键值对
dict1 = {"name": "Alice", "age": 18}
dict1.update({"name": "Bob", "gender": "male"})
print(dict1)  # 输出:{"name": "Bob", "age": 18, "gender": "male"}
3. 集合的常用方法

集合是Python中的一种数据类型,用于存储一组互不相同的元素。可以使用大括号{}或者set函数来创建集合。例如:

# 创建一个包含1到5的集合
set1 = {1, 2, 3, 4, 5}
set2 = set([4, 5, 6, 7, 8])
print(set1)  # 输出:{1, 2, 3, 4, 5}
print(set2)  # 输出:{4, 5, 6, 7, 8}

可以使用add方法来向集合中添加元素。如果元素已经存在于集合中,不会进行任何操作。例如:

# 向集合中添加元素
set1 = {1, 2, 3}
set1.add(4)
print(set1)  # 输出:{1, 2, 3, 4}

可以使用remove方法来从集合中删除指定的元素。如果元素不存在于集合中,会抛出KeyError异常。例如:

# 从集合中删除元素
set1 = {1, 2, 3}
set1.remove(2)
print(set1) 
3. 集合的常用方法(续)

可以使用union方法或者|运算符来求两个集合的并集。例如:

# 求两个集合的并集
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.union(set2)
set4 = set1 | set2
print(set3)  # 输出:{1, 2, 3, 4, 5}
print(set4)  # 输出:{1, 2, 3, 4, 5}

可以使用intersection方法或者&运算符来求两个集合的交集。例如:

# 求两个集合的交集
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.intersection(set2)
set4 = set1 & set2
print(set3)  # 输出:{3}
print(set4)  # 输出:{3}

可以使用difference方法或者-运算符来求两个集合的差集。例如:

# 求两个集合的差集
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.difference(set2)
set4 = set1 - set2
print(set3)  # 输出:{1, 2}
print(set4)  # 输出:{1, 2}

可以使用issubset方法或者<=运算符来判断一个集合是否是另一个集合的子集。例如:

# 判断一个集合是否是另一个集合的子集
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(set1.issubset(set2))  # 输出:True
print(set1 <= set2)  # 输出:True

到这里,我们介绍了字典和集合的高级操作,这些操作可以让我们更加方便地处理字典和集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这丸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值