在Python中,字典推導式(Dictionary Comprehension)是一種簡潔而強大的工具,用于從已有的可迭代對象(如列表、元組、集合或另一個字典)中快速創建新的字典。它采用類似于列表推導式的語法,但生成的結果是字典而非列表。字典推導式可以幫助我們編寫更加清晰、簡潔的代碼,特別是在需要對現有數據進行轉換或過濾時。
下面我們通過一些例子來看一下字典推導式的實際使用:
假設我們有一個包含學生姓名和分數的列表,我們想要將其轉換為一個字典,其中姓名是鍵,分數是值。
# 原始數據 names = ['Alice', 'Bob', 'Charlie'] scores = [90, 85, 92] # 使用字典推導式創建字典 student_scores = {name: score for name, score in zip(names, scores)} print(student_scores) # 輸出: {'Alice': 90, 'Bob': 85, 'Charlie': 92}
在這個例子中,zip(names, scores) 將姓名和分數配對,然后字典推導式遍歷這些對,并將每對中的第一個元素作為鍵,第二個元素作為值,構建新的字典。
假設我們有一個包含學生姓名和年齡的字典,我們想要創建一個新字典,其中只包含年齡大于20歲的學生。
# 原始數據 students = { 'Alice': 22, 'Bob': 19, 'Charlie': 23, 'David': 18 } # 使用字典推導式過濾項 adults = {name: age for name, age in students.items() if age > 20} print(adults) # 輸出: {'Alice': 22, 'Charlie': 23}
在這個例子中,.items() 方法用于獲取字典的鍵值對,if age > 20 是一個條件表達式,用于過濾出年齡大于20歲的學生。
如果我們要將上述學生年齡字典中的每個年齡都增加2歲,我們可以這樣做:
# 原始數據 students = { 'Alice': 22, 'Bob': 19, 'Charlie': 23, 'David': 18 } # 使用字典推導式轉換值 students_aged = {name: age + 2 for name, age in students.items()} print(students_aged) # 輸出: {'Alice': 24, 'Bob': 21, 'Charlie': 25, 'David': 20}
在這個例子中,字典推導式遍歷字典的每一項,并將年齡值加2,然后構建新的字典。
本文鏈接:http://www.tebozhan.com/showinfo-26-85228-0.html呀,Python中居然還有字典推導式
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 不同編程語言的 GC 機制對比
下一篇: C#數據去重的五種方式,你知道幾種?