python基礎學習5----字典

来源:https://www.cnblogs.com/sfencs-hcy/archive/2018/08/25/9532612.html
-Advertisement-
Play Games

字典由大括弧和鍵值對組成,特點為無序,鍵唯一 1.字典的創建 2.字典的增加與修改 3.字典的查詢,通過鍵去查找 4.字典的刪除 5.其他創建字典的方法 6.字典的遍歷 可以利用for迴圈 ...


字典由大括弧和鍵值對組成,特點為無序,鍵唯一

1.字典的創建

#直接創建字典
dic1={'name':'a','age':20}
#通過dict創建字典,輸出都為{'name': 'a', 'age': 20} dic2=dict((('name','a'),('age',20))) print(dic2) dic3=dict([['name','a'],['age',20]]) print(dic3)

2.字典的增加與修改

dic1={'name':'a'}
dic1['age']=20
print(dic1)
#如果字典中存在age,那麼將age的值修改為20,如果不存在,則添加'age':20

age=dic1.setdefault('age',18)
print(age)
#鍵存在,不改動,返回字典中相應的鍵對應的值,輸出為20

hobby=dic1.setdefault('hobby','sport')
print(hobby)
#鍵不存在,在字典中中增加新的鍵值對,並返回相應的值,輸出為sport

3.字典的查詢,通過鍵去查找

dic3={'age': 20, 'name': 'a', 'hobby': 'sport}

print(dic3['name'])#輸出a

print(dic3.keys())#輸出dict_keys(['age', 'name', 'hobby']),其他同理
print(list(dic3.keys()))#輸出['age', 'name', 'hobby']
print(list(dic3.values()))#輸出[20, 'a', 'sport']
print(list(dic3.items()))#輸出[('age', 20), ('name', 'a'), ('hobby', 'sport')]

#更新字典
dic4={'age': 20, 'name': 'a', 'hobby':'sport'}
dic5={'1':'111','name':'222'}
dic4.update(dic5)
print(dic4)#輸出{'age': 20, 'name': '222', 'hobby': 'sport', '1': '111'}
print(dic5)#輸出{'1': '111', 'name': '222'}

4.字典的刪除

dic5 = {'name': 'a', 'age': 20, 'hobby': sport}

dic5.clear() # 清空字典

del dic5['name'] #刪除字典中指定鍵值對

print(dic5.pop('age')) #刪除字典中指定鍵值對,並返回該鍵值對的值,應該輸出20

a = dic5.popitem() #隨機刪除某組鍵值對,並以元組方式返回值

del dic5  #刪除整個字典

5.其他創建字典的方法

dic6=dict.fromkeys(['host1','host2','host3'],'test')
print(dic6)#輸出{'host3': 'test', 'host1': 'test', 'host2': 'test'}

dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])
print(dic6)#{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']}

dic6['host2'][1]='test3'
print(dic6)
#{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']},這裡不僅僅只改變了host2的值

6.字典的遍歷

可以利用for迴圈 

dic5 = {'name': 'a', 'age': 20, 'hobby': 'sport'}

 for i in dic5:
     print(i,dic5[i])

 for i,v in dic5.items():
     print(i,v)

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Docker+Redis鏡像的原理以及部署安裝(超詳解附截圖) ...
  • 1、maven倉庫 在Maven的世界里,任何一個依賴、插件、項目構建的輸出,都可以成為一個構件。如 log4j-1.2.15.jar依賴是一個構件,maven-compile-pligin-2.0.2.jar插件是一個構件,myapp項目構建完後輸出myapp-1.0-SNAPSHOT.war也是 ...
  • 1. 繼承 在 中的三大特性中存在一種為繼承,繼承究竟是用來解決什麼問題的呢?在我們寫代碼的時候,我們會在一些類中使用相同的屬性和方法, 如兩個不同的人(類),共同都有年齡,身高,體重等。 那麼我們就可以把這些相同的屬性和方法提取到一個新的類中,用繼承的方法,讓一個類繼承另一個類,那麼這個類就具有它 ...
  • Python內置類型之數字類型以及Python之禪 1.數字類型概念 Python 數字數據類型用於存儲數值,數據類型是不允許改變的,這就意味著如果改變數字數據類型的值,將重新分配記憶體空間。 看圖,數字類型是不可變的,假設你創建了一個數字對象類型盒子用於裝數字1,如果你再想往盒子里裝2,是不允許的, ...
  • 不使用運算符 + 和-,計算兩整數a 、b之和。 示例: 若 a = 1 ,b = 2,返回 3。 class Solution: def getSum(self, a, b): """ :type a: int :type b: int :rtype: int """ # return sum([ ...
  • 給定一個正整數 num,編寫一個函數,如果 num 是一個完全平方數,則返回 True,否則返回 False。 註意:不要使用任何內置的庫函數,如 sqrt。 示例 1: 示例 2: ...
  • 給定兩個數組,編寫一個函數來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9] 說明: 輸出結果中每個元素出現的次 ...
  • 編寫一個函數,以字元串作為輸入,反轉該字元串中的母音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 母音字母不包含字母"y"。 class Solution: def reverseVowels(se ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...