Python - 字典练习:掌握字典的友好指南

你好,有抱负的Python程序员!我很高兴能在这个激动人心的Python字典世界中成为你的向导。作为一个教了多年编程的人,我可以告诉你,字典就像是Python的瑞士军刀——非常灵活和有用。所以,让我们卷起袖子,开始吧!

Python - Dictionary Exercises

字典是什么?

在我们开始练习之前,快速回顾一下字典是什么。想象一下,有一本神奇的书,你可以通过想一个关键词就能立刻找到任何信息。本质上,这就是Python字典!它是一系列键值对的集合,其中每个键都作为其关联值的唯一标识符。

这里有一个简单的例子:

my_first_dict = {"name": "Alice", "age": 25, "city": "Wonderland"}

在这个字典中,"name"、"age"和"city"是键,而"Alice"、25和"Wonderland"是它们各自的值。

现在,让我们通过一些练习来亲自动手吧!

字典练习1:创建和访问字典

任务:创建一个关于你最喜欢的书的字典并访问其信息。

# 步骤1:创建字典
favorite_book = {
"title": "银河系漫游指南",
"author": "道格拉斯·亚当斯",
"year": 1979,
"genre": "科幻小说"
}

# 步骤2:访问并打印信息
print(f"我最喜欢的书是{favorite_book['title']},作者是{favorite_book['author']}。")
print(f"它于{favorite_book['year']}年出版,是一部{favorite_book['genre']}小说。")

让我们来分解一下:

  1. 我们创建了一个名为favorite_book的字典,包含四个键值对。
  2. 我们使用方括号[]来通过键访问值。
  3. 我们使用f字符串来整齐地格式化输出。

当你运行这段代码时,你会看到书的整洁描述。很酷,对吧?

挑战:向字典中添加一个新的键值对

尝试给你的favorite_book字典添加一个“评分”。方法如下:

favorite_book["rating"] = 5
print(f"我给{favorite_book['title']}的评分是{favorite_book['rating']}颗星中的5颗星!")

字典练习2:修改字典

任务:创建一个每周日程的字典并修改它。

# 步骤1:创建日程字典
weekly_schedule = {
"Monday": "Python课程",
"Tuesday": "健身房",
"Wednesday": "电影之夜",
"Thursday": "学习小组",
"Friday": "游戏之夜"
}

# 步骤2:打印原始日程
print("原始日程:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")

# 步骤3:修改日程
weekly_schedule["Tuesday"] = "瑜伽课"
weekly_schedule["Saturday"] = "徒步"

# 步骤4:打印更新后的日程
print("\n更新后的日程:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")

在这个练习中:

  1. 我们创建了一个每周日程的字典。
  2. 我们使用一个for循环和.items()方法来遍历字典,并打印出每天的活动。
  3. 我们修改了一个现有的条目("Tuesday")并添加了一个新的条目("Saturday")。
  4. 我们打印更新后的日程以查看我们的更改。

这个练习显示了字典是多么灵活。你可以轻松地更新现有信息或根据需要添加新数据。

字典练习3:字典方法

任务:使用购物清单探索有用的字典方法。

# 步骤1:创建一个购物清单字典
shopping_list = {
"apples": 5,
"bananas": 3,
"milk": 2,
"bread": 1
}

# 步骤2:使用get()方法
print(f"我需要买{shopping_list.get('apples', 0)}个苹果。")
print(f"我需要买{shopping_list.get('oranges', 0)}个橙子。")

# 步骤3:使用keys()方法
print("\n我的购物清单上的物品:")
for item in shopping_list.keys():
print(item)

# 步骤4:使用values()方法
total_items = sum(shopping_list.values())
print(f"\n需要购买的总物品数:{total_items}")

# 步骤5:使用pop()方法
removed_item = shopping_list.pop('bread', '未找到')
print(f"\n从列表中移除了{removed_item}。")

# 步骤6:打印最终的清单
print("\n最终购物清单:")
for item, quantity in shopping_list.items():
print(f"{item}: {quantity}")

这个练习介绍了一些方便的字典方法:

  • get():安全地检索一个值,如果键不存在则返回一个默认值。
  • keys():返回字典中所有键的视图。
  • values():返回字典中所有值的视图。
  • pop():移除一个键值对并返回该值。
  • items():返回所有键值对作为元组的视图。

这些方法使字典的工作变得轻而易举!

字典练习程序

现在我们已经涵盖了基础知识,让我们看看一些使用字典的实际程序。

程序1:简单的联系人簿

def contact_book():
contacts = {}
while True:
action = input("你想要做什么? (添加/查看/退出): ").lower()
if action == "退出":
break
elif action == "添加":
name = input("输入联系人的名字: ")
number = input("输入联系人的号码: ")
contacts[name] = number
print(f"已将{name}添加到联系人中。")
elif action == "查看":
if contacts:
for name, number in contacts.items():
print(f"{name}: {number}")
else:
print("你的联系人簿是空的。")
else:
print("无效的操作。请重试。")

contact_book()

这个程序创建了一个简单的联系人簿,你可以添加和查看联系人。它演示了如何使用字典来以用户友好的方式存储和检索信息。

程序2:词频计数器

def word_frequency(sentence):
words = sentence.lower().split()
frequency = {}
for word in words:
frequency[word] = frequency.get(word, 0) + 1
return frequency

# 示例使用
sample_text = "The quick brown fox jumps over the lazy dog. The dog barks."
result = word_frequency(sample_text)
print("词频:")
for word, count in result.items():
print(f"{word}: {count}")

这个程序计算给定句子中单词的频率。它展示了如何使用字典进行数据分析和计数出现次数。

结论

恭喜你!你已经完成了Python字典的快速之旅。从创建和访问字典到修改它们和使用内置方法,你已经覆盖了很多内容。记住,熟能生巧,所以不要犹豫,在你们自己的项目中尝试这些概念吧。

字典是Python中非常强大的工具,掌握它们将为你编程之旅中的可能性打开大门。继续编码,保持好奇心,最重要的是,玩得开心!谁知道呢?你可能发现自己正在用字典来组织自己的Python银河系漫游指南!??

Credits: Image by storyset