Python动手练:字典

云课堂学Python 2024-04-10 00:04:38

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值对用冒号 : 分隔( key:value ),每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

「建议:根据提示完成练习后,再参考文末示例代码。」

练习 1:列表转换为字典

编写一个 Python 程序将两个列表转换为字典,其中 list1 中的项是键,list2 中的项是值。

例:

list1 = ['Ten', 'Twenty', 'Thirty']

list2 = [10, 20, 30]

输出:

{'Ten': 10, 'Twenty': 20, 'Thirty': 30}

「提示」

使用 zip()函数。此函数接受两个或多个迭代对象(如列表、字典、字符串),将它们聚合到一个元组中。然后,使用 dict()函数转换为字典。使用 for 循环迭代两个列表。在每次迭代中,使用 update()方法向字典添加新的键值对。练习 2:Python 字典合并

编写一个程序,将两个字典合并为一个。

例:

dict1 = {'Ten': 10, 'Twenty': 20} dict2 = {'Thirty': 30, 'Fourty': 40}

输出:

{'Ten': 10, 'Twenty': 20, 'Thirty': 30, 'Fourty': 40}

「提示」

Python 中,单星号 * 和双星号 ** 除了作为“乘”和“乘方”的数值运算符外,还在列表、元组、字典的操作中有看到。单星号 * 用于对列表 List 或元组 Tuple 中的元素进行取出, 双星号 ** 可将字典里的键值对取出。使用 update()方法将一个字典添加到另一个字典中。练习 3:从字典中删除键值对

编写一个程序,从字典中将指定的键值对删除。

例:

dict1 = {"name": "li", "age": 25, "city": "beijing"}

key = ["age", "city"]

输出:

dict1 = {"name": "li"}

「提示」

使用循环迭代指定的键。

检查当前键是否存在于字典中,如果存在,请将其从字典中删除。

使用字典的 pop()方法删除键值对。

练习 4:检查字典中的值

编写一个程序来查找字典中是否存在值 200。

dict1 = {'a': 100, 'b': 200, 'c': 300}

输出:

找到指定值

「提示」

使用字典 values()方法以列表形式获取字典中的所有值。

使用 if 条件检查列表中是否存在 200。

# 练习 1-1list1 = ['Ten', 'Twenty', 'Thirty']list2 = [10, 20, 30]dict1 = dict(zip(list1,list2))print(dict1)# 练习 1-2list1 = ['Ten', 'Twenty', 'Thirty']list2 = [10, 20, 30]dict1 = dict()for i in range(len(list1)): dict1.update({list1[i]:list2[i]})print(dict1)# 练习 2-1dict1 = {'Ten': 10, 'Twenty': 20}dict2 = {'Thirty': 30, 'Fourty': 40}dict3 = {**dict1, **dict2}print(dict3)# 练习 2-2dict1 = {'Ten': 10, 'Twenty': 20}dict2 = {'Thirty': 30, 'Fourty': 40}dict3 = dict1.copy()dict3.update(dict2)print(dict3)# 练习 3dict1 = {"name": "li", "age": 25, "city": "beijing"}key = ["age", "city"]for k in key: dict1.pop(k)print(dict1)# 练习 4sample_dict = {'a': 100, 'b': 200, 'c': 300}if 200 in sample_dict.values(): print('找到指定的值。')

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

0 阅读:0