(keys()) 以下是原文的繁體中文翻譯:
Python - 字典練習:精通字典的友好指南
你好,有抱負的Python程序員!很高興能成為你在這個令人興奮的Python字典世界之旅中的嚮導。作為一個教了多年编程的人,我告訴你,字典就像是Python的瑞士軍刀 - 非常多功能和實用。所以,讓我們捲起袖子,深入其中吧!
字典是什麼?
在我們進行練習之前,讓我們快速回顧一下字典是什麼。想象一下,有一本神奇的書,你可以通過想一個關鍵詞立即找到任何信息。這基本上就是Python字典!它是一系列的鍵值對組成的集合,每個鍵作為其相關值的唯一標識符。
這裡有一個簡單的例子:
my_first_dict = {"name": "Alice", "age": 25, "city": "Wonderland"}
在這個字典中,"name", "age", 和 "city" 是鍵,而 "Alice", 25, 和 "Wonderland" 是它們各自對應的值。
現在,讓我們通過一些練習來親自動手吧!
字典練習1:創建和訪問字典
任務:創建一個關於你喜歡的書的字典並訪問其信息。
# 步驟1:創建字典
favorite_book = {
"title": "The Hitchhiker's Guide to the Galaxy",
"author": "Douglas Adams",
"year": 1979,
"genre": "Science Fiction"
}
# 步驟2:訪問並打印信息
print(f"My favorite book is {favorite_book['title']} by {favorite_book['author']}.")
print(f"It was published in {favorite_book['year']} and is a {favorite_book['genre']} novel.")
讓我們來解釋一下:
- 我們創建了一個名為
favorite_book
的字典,其中包含四個鍵值對。 - 我們使用方括號表示法
[]
通過其鍵來訪問值。 - 我們使用f-字符串來整齊地格式化我們的輸出。
當你運行這段代碼時,你將看到一個格式良好的書的描述。很酷,對吧?
挑戰:向字典中添加一個新的鍵值對
嘗試為你的 favorite_book
字典添加一個評分。這是怎麼做到的:
favorite_book["rating"] = 5
print(f"I give {favorite_book['title']} a rating of {favorite_book['rating']} out of 5 stars!")
字典練習2:修改字典
任務:創建一個你的週工作計劃並修改它。
# 步驟1:創建計劃字典
weekly_schedule = {
"Monday": "Python class",
"Tuesday": "Gym",
"Wednesday": "Movie night",
"Thursday": "Study group",
"Friday": "Game night"
}
# 步驟2:打印原始計劃
print("Original schedule:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")
# 步驟3:修改計劃
weekly_schedule["Tuesday"] = "Yoga class"
weekly_schedule["Saturday"] = "Hiking"
# 步驟4:打印更新後的計劃
print("\nUpdated schedule:")
for day, activity in weekly_schedule.items():
print(f"{day}: {activity}")
在這個練習中:
- 我們創建了一個我們的週工作計劃字典。
- 我們使用一個
for
循環與.items()
方法迭代字典,並打印每個日子和活動。 - 我們修改了一個現有的條目("Tuesday")並添加了一個新的條目("Saturday")。
- 我們打印更新後的計劃以查看我們的更改。
這個練習展示了字典是多麼靈活。你可以輕鬆地更新現有的信息或根據需要添加新數據。
字典練習3:字典方法
任務:使用購物清單探索有用的字典方法。
# 步驟1:創建購物清單字典
shopping_list = {
"apples": 5,
"bananas": 3,
"milk": 2,
"bread": 1
}
# 步驟2:使用 get() 方法
print(f"I need to buy {shopping_list.get('apples', 0)} apples.")
print(f"I need to buy {shopping_list.get('oranges', 0)} oranges.")
# 步驟3:使用 keys() 方法
print("\nItems on my shopping list:")
for item in shopping_list.keys():
print(item)
# 步驟4:使用 values() 方法
total_items = sum(shopping_list.values())
print(f"\nTotal number of items to buy: {total_items}")
# 步驟5:使用 pop() 方法
removed_item = shopping_list.pop('bread', 'Not found')
print(f"\nRemoved {removed_item} from the list.")
# 步驟6:打印最終清單
print("\nFinal shopping list:")
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("What would you like to do? (add/view/quit): ").lower()
if action == "quit":
break
elif action == "add":
name = input("Enter the contact's name: ")
number = input("Enter the contact's number: ")
contacts[name] = number
print(f"Added {name} to contacts.")
elif action == "view":
if contacts:
for name, number in contacts.items():
print(f"{name}: {number}")
else:
print("Your contact book is empty.")
else:
print("Invalid action. Please try again.")
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("Word frequencies:")
for word, count in result.items():
print(f"{word}: {count}")
這個程序計算給定句子中單詞的頻率。它展示了如何使用字典進行數據分析和計數出現次數。
結論
恭喜你!你剛剛完成了Python字典的快速之旅。從創建和訪問字典到修改它們和使用內置方法,你已經學會了很多。請記住,練習成就完美,所以不要猶豫在您自己的項目中嘗試這些概念。
字典是Python中非常強大的工具,掌握它們將打開你編程旅程中的無限可能。繼續編程,保持好奇心,最重要的是,玩得開心!誰知道呢?你可能會發現自己正在使用字典來整理自己的Python星際指南!??
以下是一些字典方法的描述和示例:
方法 | 描述 | 示例 |
---|---|---|
get() |
检索给定键的值,如果键不存在则返回默认值 | dict.get('key', default_value) |
keys() |
返回字典中所有键的视图 | dict.keys() |
values() |
返回字典中所有值的视图 | dict.values() |
items() |
返回所有键值對作為元組的视图 | dict.items() |
pop() |
删除一个键值对并返回该值 | dict.pop('key', default_value) |
update() |
使用来自另一个字典或键值对的可迭代元素更新字典 | dict.update({'new_key': 'new_value'}) |
clear() |
删除字典中的所有项 | dict.clear() |
copy() |
返回字典的浅拷贝 | new_dict = dict.copy() |
setdefault() |
如果存在,则返回键的值,否则插入具有指定值的键 | dict.setdefault('key', default_value) |
fromkeys() |
使用指定的键和值创建新的字典 | dict.fromkeys(['key1', 'key2'], value) |
Credits: Image by storyset