一、Python字典
Python字典是一種可變的映射數據類型,它由一系列的鍵與對應的值映射而成。字典中的鍵必須是唯一的,而值則不必唯一。
字典可以用一對花括號{}或者dict()函數來創建。當使用花括號創建時,通常使用冒號將鍵和值分隔開。比如:
# 使用花括號創建字典
my_dict = {'one': 1, 'two': 2, 'three': 3}
# 使用dict()函數創建字典
another_dict = dict(one=1, two=2, three=3)
可以使用del語句或者pop()方法來刪除指定鍵的元素,也可以使用clear()方法來清空字典。
二、字典鍵的用途
1. 在字典中查找元素
Python字典通過鍵來查找對應的值,因此字典中的鍵非常重要。在使用in運算符進行鍵查找時,Python會自動使用哈希表來優化查找效率。
# 查找字典中的鍵
my_dict = {'one': 1, 'two': 2, 'three': 3}
if 'one' in my_dict:
print('鍵為one的元素存在')
else:
print('鍵為one的元素不存在')
2. 使用字典鍵進行迭代
對於字典,可以使用for循環對其進行迭代,這裡的迭代其實是對字典的鍵進行迭代。如果要遍歷字典的值,則需要使用values()方法;如果要同時遍歷字典的鍵和值,則需要使用items()方法。
# 對字典進行迭代
my_dict = {'one': 1, 'two': 2, 'three': 3}
for key in my_dict:
value = my_dict[key]
print(key, value)
3. 將字典鍵轉化為列表或集合
Python字典的鍵可以通過keys()方法轉化為列表或集合,在某些場合下,這個特性非常有用。
# 將字典鍵轉換為列表
my_dict = {'one': 1, 'two': 2, 'three': 3}
key_list = list(my_dict.keys())
# 將字典鍵轉換為集合
key_set = set(my_dict.keys())
三、Python字典鍵的示例
1. 構建一個網站頁面計數器
網站頁面計數器是一個常見的應用,用戶訪問每一個頁面時,頁面瀏覽計數器就會加1。使用Python字典就可以實現這個功能,其中頁面URL是鍵,訪問次數是值。
# 網站頁面計數器
counter = {}
while True:
page_url = input('請輸入網站頁面URL:')
if not page_url:
break
if page_url not in counter:
counter[page_url] = 1
else:
counter[page_url] += 1
for page, count in counter.items():
print(page, count)
2. 建立一個學生信息管理系統
學生信息管理系統可以使用Python字典來保存每一位學生的信息,其中學生的學號可以作為字典的鍵,學生姓名、年齡、成績等信息可以作為值。
# 學生信息管理系統
student_info = {}
while True:
student_id = input('請輸入學生學號:')
if not student_id:
break
name = input('請輸入學生姓名:')
age = input('請輸入學生年齡:')
grade = input('請輸入學生成績:')
student_info[student_id] = {'name': name, 'age': age, 'grade': grade}
# 輸出學生信息
for student_id, info in student_info.items():
print('學號:{0},姓名:{1},年齡:{2},成績:{3}'.format(student_id, info['name'], info['age'], info['grade']))
3. 使用字典實現多選題答案統計
假設有一份多選題試卷,每道題有多個選項,學生需要選擇其中的若干個答案。使用Python字典可以統計出每個選項的選擇人數。
# 多選題答案統計
question = {
'Q1': {'A': 0, 'B': 0, 'C': 0, 'D': 0},
'Q2': {'A': 0, 'B': 0, 'C': 0, 'D': 0},
'Q3': {'A': 0, 'B': 0, 'C': 0, 'D': 0},
'Q4': {'A': 0, 'B': 0, 'C': 0, 'D': 0},
'Q5': {'A': 0, 'B': 0, 'C': 0, 'D': 0}
}
while True:
answer = input('請輸入學生答案(如:Q1-A):')
if not answer:
break
index = answer.find('-')
q = answer[:index]
a = answer[index+1:]
question[q][a] += 1
# 輸出每個答案的人數
for q in question:
print(q)
for a in question[q]:
print('{0}: {1}'.format(a, question[q][a]))
四、總結
Python字典中的鍵是非常重要的,不僅可以用來查找元素、進行迭代,還可以作為不同數據之間的橋樑。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/229112.html
微信掃一掃
支付寶掃一掃