Python Day-Dictionary-練習、任務
字典-{}:
-->將資料值儲存在鍵:值對
中
-->有序、可更改且不允許重複。
練習:
1.
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) menu['pongal'] = 40 del menu['idli'] print(menu) print(menu['dosai'])
輸出:
{'idli': 10, 'dosai': 20, 'poori': 30} {'dosai': 20, 'poori': 30, 'pongal': 40} 20
2。要在空字典中加入鍵:值對,使用 get() 函數
time_table = {} time_table['tamil'] = 10 time_table['english']= 10 print(time_table) print(time_table['tamil']) print(time_table.get('tamil')) print(time_table.get('maths')) print(time_table['maths'])
輸出:
{'tamil': 10, 'english': 10} 10 10 None KeyError: 'maths'
-->如果通常我們輸入字典中沒有的鍵,那麼輸出將是 KeyError。
-->相反,如果我們使用 get() 函數,它不會傳回任何內容。
3.取得鍵、值、兩者
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) print(menu.keys()) print(menu.values()) print(menu.items())
輸出:
{'idli': 10, 'dosai': 20, 'poori': 30} dict_keys(['idli', 'dosai', 'poori']) dict_values([10, 20, 30]) dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])
Keys-->從字典列印鍵(dict_name.keys())。
值-->列印字典中的值(dict_name.values())。
items-->將字典中的鍵和值列印為元組 (dict_name.items())。
4。從字典中單獨取得鍵、值或項目。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): print(fruit) for price in fruits_menu.values(): print(price) for fruit, price in fruits_menu.items(): print(fruit, price)
輸出:
apple banana grapes 100 80 120 apple 100 banana 80 grapes 120
5。如果鍵包含字母“e”,則列印值。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): if 'e' in fruit: print(fruits_menu[fruit])
輸出:
100 120
6。將字典轉換為元組或列表。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} print(list(fruits_menu)) print(tuple(fruits_menu))
輸出:
['apple', 'banana', 'grapes'] ('apple', 'banana', 'grapes')
7。嵌套字典。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} print(emp1) print(emp2) employees = {101:emp1, 102:emp2} print(employees)
輸出:
{'name': 'guru prasanna', 'qual': 'B.Com'} {'name': 'lakshmi pritha', 'qual': 'M.E'} {101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}}
8。從字典中單獨取得員工姓名。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} employees = {101:emp1, 102:emp2} print(employees) for roll_no, employee in employees.items(): for key, value in employee.items(): if key == 'name': print(employee[key])
輸出:
{101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}} guru prasanna lakshmi pritha
9。單獨取得 B.com 員工。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} employees = {101:emp1, 102:emp2} for roll_no, employee in employees.items(): for key, value in employee.items(): if value == 'B.Com': print(employee['name'])
輸出:
guru prasanna
10。每個值增加 10%。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.values(): fruit=fruit+(fruit/10) print(fruit)
輸出:
110.0 88.0 132.0
11。轉換鍵-->價值與價值-->鍵。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} new_menu = {} for fruit,price in fruits_menu.items(): new_menu[price] = fruit print(new_menu)
輸出:
{100: 'apple', 80: 'banana', 120: 'grapes'}
字典理解
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} menu_dict = {(fruit,price) for fruit,price in fruits_menu.items()} print(menu_dict) menu_dict = {fruit: price for fruit,price in fruits_menu.items()} print(menu_dict) #To reverse key-->value and value-->key menu_dict = {price : fruit for fruit,price in fruits_menu.items()} print(menu_dict)
輸出:
{('grapes', 120), ('apple', 100), ('banana', 80)} {'apple': 100, 'banana': 80, 'grapes': 120} {100: 'apple', 80: 'banana', 120: 'grapes'}
get()
get() 方法傳回具有指定鍵的項目的值。
-->如果字典中不存在鍵,則傳回無。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} print(fruits_menu.get('apple',"not available")) print(fruits_menu.get('kiwi',"not available"))
輸出:
100 not available
找出給定字串中字母的頻率
#frequency of each letter in a given string freq = {} name = 'guruprasanna' for letter in name: freq[letter] = freq.get(letter,0)+1 print(freq)
輸出:
{'g': 1, 'u': 2, 'r': 2, 'p': 1, 'a': 3, 's': 1, 'n': 2}
將字典轉換為集合
csk = {'dhoni':101, 'jadeja':102} india = {'virat':103, 'jadeja':102} print(set(csk)) print(set(india)) print(set(csk.keys())) print(set(india.keys()))
輸出:
{'dhoni', 'jadeja'} {'virat', 'jadeja'} {'dhoni', 'jadeja'} {'virat', 'jadeja'}
setdefault()
--> setdefault() 方法傳回具有指定鍵的項目的值。
-->如果鍵不存在,則插入具有指定值的鍵。
csk = {'dhoni':101, 'jadeja':102} india = {'virat':103, 'jadeja':102} csk.setdefault('rohit',100) print(csk) csk.setdefault('dhoni',100) print(csk)
輸出:
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) menu['pongal'] = 40 del menu['idli'] print(menu) print(menu['dosai'])
任務:
1。尋找:
a) 兩個團隊都有共同點
b) 出現在任何一支球隊
c) 總玩家姓名
{'idli': 10, 'dosai': 20, 'poori': 30} {'dosai': 20, 'poori': 30, 'pongal': 40} 20
輸出:
time_table = {} time_table['tamil'] = 10 time_table['english']= 10 print(time_table) print(time_table['tamil']) print(time_table.get('tamil')) print(time_table.get('maths')) print(time_table['maths'])
2。找出字串中單字的出現頻率 - 'a Rose is a Rose is a Rose'。
{'tamil': 10, 'english': 10} 10 10 None KeyError: 'maths'
輸出:
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) print(menu.keys()) print(menu.values()) print(menu.items())
3。在字典中找出總分、平均分數和高分。
玩家 = {'jaiswal':75, 'rohit':55, 'virat':95}
{'idli': 10, 'dosai': 20, 'poori': 30} dict_keys(['idli', 'dosai', 'poori']) dict_values([10, 20, 30]) dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])
輸出:
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): print(fruit) for price in fruits_menu.values(): print(price) for fruit, price in fruits_menu.items(): print(fruit, price)
apple banana grapes 100 80 120 apple 100 banana 80 grapes 120
輸出:
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): if 'e' in fruit: print(fruits_menu[fruit])
以上是Python Day-Dictionary-練習、任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

多態是Python面向對象編程中的核心概念,指“一種接口,多種實現”,允許統一處理不同類型的對象。 1.多態通過方法重寫實現,子類可重新定義父類方法,如Animal類的speak()方法在Dog和Cat子類中有不同實現。 2.多態的實際用途包括簡化代碼結構、增強可擴展性,例如圖形繪製程序中統一調用draw()方法,或遊戲開發中處理不同角色的共同行為。 3.Python實現多態需滿足:父類定義方法,子類重寫該方法,但不要求繼承同一父類,只要對象實現相同方法即可,這稱為“鴨子類型”。 4.注意事項包括保持方

參數(parameters)是定義函數時的佔位符,而傳參(arguments)是調用時傳入的具體值。 1.位置參數需按順序傳遞,順序錯誤會導致結果錯誤;2.關鍵字參數通過參數名指定,可改變順序且提高可讀性;3.默認參數值在定義時賦值,避免重複代碼,但應避免使用可變對像作為默認值;4.args和*kwargs可處理不定數量的參數,適用於通用接口或裝飾器,但應謹慎使用以保持可讀性。

迭代器是實現__iter__()和__next__()方法的對象,生成器是簡化版的迭代器,通過yield關鍵字自動實現這些方法。 1.迭代器每次調用next()返回一個元素,無更多元素時拋出StopIteration異常。 2.生成器通過函數定義,使用yield按需生成數據,節省內存且支持無限序列。 3.處理已有集合時用迭代器,動態生成大數據或需惰性求值時用生成器,如讀取大文件時逐行加載。注意:列表等可迭代對像不是迭代器,迭代器到盡頭後需重新創建,生成器只能遍歷一次。

類方法是Python中通過@classmethod裝飾器定義的方法,其第一個參數為類本身(cls),用於訪問或修改類狀態。它可通過類或實例調用,影響的是整個類而非特定實例;例如在Person類中,show_count()方法統計創建的對像數量;定義類方法時需使用@classmethod裝飾器並將首參命名為cls,如change_var(new_value)方法可修改類變量;類方法與實例方法(self參數)、靜態方法(無自動參數)不同,適用於工廠方法、替代構造函數及管理類變量等場景;常見用途包括從

處理API認證的關鍵在於理解並正確使用認證方式。 1.APIKey是最簡單的認證方式,通常放在請求頭或URL參數中;2.BasicAuth使用用戶名和密碼進行Base64編碼傳輸,適合內部系統;3.OAuth2需先通過client_id和client_secret獲取Token,再在請求頭中帶上BearerToken;4.為應對Token過期,可封裝Token管理類自動刷新Token;總之,根據文檔選擇合適方式,並安全存儲密鑰信息是關鍵。

Python的magicmethods(或稱dunder方法)是用於定義對象行為的特殊方法,它們以雙下劃線開頭和結尾。 1.它們使對象能夠響應內置操作,如加法、比較、字符串表示等;2.常見用例包括對像初始化與表示(__init__、__repr__、__str__)、算術運算(__add__、__sub__、__mul__)及比較運算(__eq__、__lt__);3.使用時應確保其行為符合預期,例如__repr__應返回可重構對象的表達式,算術方法應返回新實例;4.應避免過度使用或以令人困惑的方

Pythonmanagesmemoryautomaticallyusingreferencecountingandagarbagecollector.Referencecountingtrackshowmanyvariablesrefertoanobject,andwhenthecountreacheszero,thememoryisfreed.However,itcannothandlecircularreferences,wheretwoobjectsrefertoeachotherbuta

Python的垃圾回收機制通過引用計數和周期性垃圾收集來自動管理內存。其核心方法是引用計數,當對象的引用數為零時立即釋放內存;但無法處理循環引用,因此引入了垃圾收集模塊(gc)來檢測並清理循環。垃圾回收通常在程序運行中引用計數減少、分配與釋放差值超過閾值或手動調用gc.collect()時觸發。用戶可通過gc.disable()關閉自動回收、gc.collect()手動執行、gc.set_threshold()調整閾值以實現控制。並非所有對像都參與循環回收,如不包含引用的對象由引用計數處理,內置
