Python學習二:詞典基礎詳解

来源:http://www.cnblogs.com/NiceCui/archive/2017/11/19/7862377.html
-Advertisement-
Play Games

作者:NiceCui 本文謝絕轉載,如需轉載需徵得作者本人同意,謝謝。 本文鏈接:http://www.cnblogs.com/NiceCui/p/7862377.html 郵箱:[email protected] 日期:2017-11-19 Python學習二:詞典基礎詳解 (學習不要求多,小計劃 ...


作者:NiceCui

  • 本文謝絕轉載,如需轉載需徵得作者本人同意,謝謝。
  • 本文鏈接:http://www.cnblogs.com/NiceCui/p/7862377.html
  • 郵箱:[email protected]
  • 日期:2017-11-19

Python學習二:詞典基礎詳解

學習不要求多,小計劃能學會體驗到樂趣便可

一:介紹

Python詞典其實和java中的HashMap很像,都是通過哈希表實現的,都是鍵值對存貯方式,也就是說,詞典是一個數組,而數組的索引是鍵經過哈希函數處理後得到的。其實大家在編程語言的學習當中會遇到很多類似的存儲方式,例如緩存系統Memcached就是以鍵值對進行存儲數據的,Redis中也有,所以說鍵值對存儲方式在編程語言中應用廣泛。

詞典是一個可以容納多個元素的容器,但是典不是以位置作為索引的,詞典允許使用自定義的方式來建立數據的索引。

二:詞典剖析

詞典可以包含多個元素,每個元素以都好分割;

詞典的元素包含兩部分:(Key)和 (Value),鍵是數據的索引,值是數據的本身,鍵和值是一一對應的。

 

 1 #!/usr/bin/python
 2 #coding:utf-8
 3 '''
 4 Created on 2017-11-19
 5 @author: NiceCui
 6 '''
 7 
 8 example_dict = {"a":1,"b":2,"c":3}
 9 
10 print(type(example_dict)) #輸出 <type 'dict'>
11 
12 print(example_dict["a"])  #輸出 1
13 
14 print(example_dict["b"])  #輸出 2
15 
16 print(example_dict["c"])  #輸出 3

 

三:在詞典中修改或增加一個元素的值

 1 #!/usr/bin/python
 2 #coding:utf-8
 3 '''
 4 Created on 2017-11-19
 5 @author: NiceCui
 6 '''
 7 
 8 example_dict = {"a":1,"b":2,"c":3}
 9 
10 example_dict["a"] = 10 #修改 鍵 "a" 的值為 10
11 
12 example_dict["b"] = 20 #修改 鍵 "b" 的值為 20
13 
14 example_dict["d"] = 4  #增加 鍵是 "d" 值是 4
15 
16 print(example_dict)    #輸出 :{'a': 10, 'c': 3, 'b': 20, 'd': 4}

構建一個新的空詞典

#!/usr/bin/python
#coding:utf-8
'''
Created on 2017-11-19
@author: NiceCui
'''

example_dict = {}   #空詞典

print(example_dict) #輸出 {}

詞典不具備序列的連續的連續的有序性,所以適於存儲結構鬆散的一組數據。

比如首付比例和稅率可以存在同一個詞典中:

1 #!/usr/bin/python
2 #coding:utf-8
3 '''
4 Created on 2017-11-19
5 @author: NiceCui
6 '''
7 
8 
9 example_dict ={"premium":0.2,"tax":0.15}

四:總結一下

本次學習中內容不多,只學習了一個知識點,這樣會讓自己的學習更加放鬆,不必擔心只是體量過大,讓自己的內心充滿壓抑,本文中寫python語言都是使用的eclipse中安裝的python插件,安裝使用教程:http://www.cnblogs.com/NiceCui/p/7858107.html

在詞典的 例子中,以及大部分的應用場景中,我們都使用字元串來作為詞典的鍵。但是其他類型的數據,如數組和布爾值,也可以作為詞典的鍵值,簡單學習,玩著學習,學著快樂。

 


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

-Advertisement-
Play Games
更多相關文章
  • 註:本文為mysql基礎知識的總結,基礎點很多若是有些不足夠,還請自行搜索。後續增加 一、mysql簡介 資料庫簡介 資料庫是電腦應用系統中的一種專門管理數據資源的系統 資料庫是一組經過電腦處理後的數據,存儲在多個文件中,而管理資料庫軟體被稱為資料庫管理系統 DBMS 而MYSQL ORACLE ...
  • [TOC] PS: 本地預覽目錄OK,但是博客園貌似不支持,那就只能這樣了。 前言(可以不看) 最開始只是想寫一篇博文,準備使用markdown,感覺很流行(github、簡書……很多都支持),而且渲染出來很好看,一直很想學,沒有合適的機會,結果拖到了現在。比起什麼python、C之類的編程語言,m ...
  • 發佈-訂閱消息模式 一、訂閱雜誌 我們很多人都訂過雜誌,其過程很簡單。只要告訴郵局我們所要訂的雜誌名、投遞的地址,付了錢就OK。出版社定期會將出版的雜誌交給郵局,郵局會根據訂閱的列表,將雜誌送達消費者手中。這樣我們就可以看到每一期精彩的雜誌了。 發佈-訂閱消息模式 一、訂閱雜誌 我們很多人都訂過雜誌 ...
  • 1. 學習了一下 AI 五子棋,順手改作 19 路的棋盤,便於圍棋通用。render.py 主要修改如下: 2. 發現 pygame 還不錯,便從網上搜索到《Beginning Game Development With Python And Pygame》,其中螞蟻游戲的 AI 表現甚好,主要代碼 ...
  • 前言 本篇將結合JDK1.6的TreeMap源碼,來一起探索紅-黑樹的奧秘。紅黑樹是解決二叉搜索樹的非平衡問題。 當插入(或者刪除)一個新節點時,為了使樹保持平衡,必須遵循一定的規則,這個規則就是紅-黑規則: 1) 每個節點不是紅色的就是黑色的 2) 根總是黑色的 3) 如果節點是紅色的,則它的子節 ...
  • 本文主要給大家分享使用matlab編寫代碼,完成課程設計、畢業設計或者研究項目時,matlab調試程式的技巧和方法。 快速完成一個項目,最簡單的方法就是利用前人的開源代碼,然後根據自己項目的具體需求和參數,對已有代碼進行調試,並增加或刪減部分功能,最終實現自己項目的全部功能。所謂“站在前人的肩膀上... ...
  • Joinpoint 連接點 Pointcut 切入點 Advice 通知/增強 舉例: Aspact 切麵 比如給add()增加日誌功能的過程即稱為切麵 還有幾個術語知道就可以,不常用 Introduction (引入)使用動態的方法在原有屬性基礎上 添加新屬性的操作 ...
  • 前言: 之前寫Java服務端處理POST請求時遇到了請求體轉換成字元流所用編碼來源的疑惑,在doPost方法里通過request.getReader()獲取的BufferedReader對象內部的 Reader用的是什麼編碼將位元組流轉換成字元流的呢?又是在哪裡設置呢和什麼時候生效的呢?通過查找資料, ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...