(keys()) 以下是原文的繁體中文翻譯:

Python - Dictionary Exercises

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.")

讓我們來解釋一下:

  1. 我們創建了一個名為 favorite_book 的字典,其中包含四個鍵值對。
  2. 我們使用方括號表示法 [] 通過其鍵來訪問值。
  3. 我們使用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}")

在這個練習中:

  1. 我們創建了一個我們的週工作計劃字典。
  2. 我們使用一個 for 循環與 .items() 方法迭代字典,並打印每個日子和活動。
  3. 我們修改了一個現有的條目("Tuesday")並添加了一個新的條目("Saturday")。
  4. 我們打印更新後的計劃以查看我們的更改。

這個練習展示了字典是多麼靈活。你可以輕鬆地更新現有的信息或根據需要添加新數據。

字典練習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