1. 程式人生 > >Python進階01 詞典

Python進階01 詞典

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段宣告。謝謝!

基礎教程介紹了基本概念,特別是物件和類。

進階教程對基礎教程的進一步拓展,說明Python的細節。希望在進階教程之後,你對Python有一個更全面的認識。

之前我們說了,列表是Python裡的一個類。一個特定的表,比如說nl = [1,3,8],就是這個類的一個物件。我們可以呼叫這個物件的一些方法,比如 nl.append(15)。
我們要介紹一個新的類,詞典 (dictionary)。與列表相似,詞典也可以儲存多個元素。這種儲存多個元素的物件稱為容器(container)

基本概念

常見的建立詞典的方法:

>>>dic = {'tom':11, 'sam':57,'lily':100}

>>>print type(dic)

詞典和表類似的地方,是包含有多個元素,每個元素以逗號分隔。但詞典的元素包含有兩部分,,常見的是以字串來表示鍵,也可以使用數字或者真值來表示鍵(不可變的物件可以作為鍵)。值可以是任意物件。鍵和值兩者一一對應。

比如上面的例子中,‘tom’對應11,'sam對應57,'lily'對應100

與表不同的是,詞典的元素沒有順序。你不能通過下標引用元素。詞典是通過鍵來引用

>>>print dic['tom']

>>>dic['tom'] = 30

>>>print dic

構建一個新的空的詞典:

>>>dic = {}

>>>print dic

在詞典中增添一個新元素的方法:

>>>dic['lilei'] = 99

>>>print dic

這裡,我們引用一個新的鍵,並賦予它對應的值。

詞典元素的迴圈呼叫

dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}
for key in dic:
    print dic[key]

在迴圈中,dict的每個鍵,被提取出來,賦予給key變數。

通過print的結果,我們可以再次確認,dic中的元素是沒有順序的。

詞典的常用方法

>>>print dic.keys()           # 返回dic所有的鍵

>>>print dic.values()         # 返回dic所有的值

>>>print dic.items()          # 返回dic所有的元素(鍵值對)

>>>dic.clear()                # 清空dic,dict變為{}

另外有一個很常用的用法:

>>>del dic['tom']             # 刪除 dic 的‘tom’元素

del是Python中保留的關鍵字,用於刪除物件。

與表類似,你可以用len()查詢詞典中的元素總數。

>>>print(len(dic))

總結

詞典的每個元素是鍵值對。元素沒有順序。

dic = {'tom':11, 'sam':57,'lily':100}

dic['tom'] = 99

for key in dic: ...

del, len()

相關推薦

Python01 詞典

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段宣告。謝謝! 基礎教程介紹了基本概念,特別是物件和類。 進階教程對基礎教程的進一步拓展,說明Python的細節。希望在進階教程之後,你對Python有一個更全面的

python01高階程式設計02網路 -tcp

1.TCP簡介 1.1TCP介紹 TCP協議,傳輸控制協議(英語:Transmission Control Protocol,縮寫為 TCP)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,由IETF的RFC 793定義。 TCP通訊需要經過建立連線、資

Python技巧匯總01

chat 關註 port 字符 申請 mon 表示 lac 復雜 總結自原創: Leoxin 菜鳥學Python 原文地址:強烈推薦|麻煩剛關註2699名小夥伴一定要看,信息量太大 1 字符串 字符串的format格式一般有兩種操作: (1)使用%操作符 name =

python

第二篇 ice api http協議 第三篇 art python pan 進階 目錄 第一篇:HTML介紹 第二篇:css層疊樣式 第三篇:JavaScript 第四篇:jquery 第五篇:數據庫基礎之mysql 第六篇:python關於mysq

python十_正則表達式(一)

之前 dsm 常見 style ear 單個字符 src ace 例如 近期狀態一直不太好,至於原因。怎麽說呢,不好說,總之就是糾結中覆蓋著糾結。心思全然不在點上。希望能夠借助Python的學習以及博客的撰寫來調整回來,有的時候回頭想一想。假設真的是我自己的問題呢,曾經

Python自動化開發課堂筆記【Day06】 - Python(類)

擴展性 程序 lex 類名 人物 優點 ini 參數 self. 類與對象 面向過程的程序設計:  優點:極大的降低了程序的復雜度  缺點:一套流水線或者流程就是用來解決一個問題,生產汽水的流水線無法生產汽車,即使能,也是得大改,改一個組件,牽一發而動全身面向對象的程序設計

Python自動化開發課堂筆記【Day08】 - Python(面向對象的高級用法,網絡編程)

sta 自然 log 報錯 面向 read urn total 析構函數 面向對象的高級用法 1. __str__ 只要執行打印對象的操作,就會觸發該對象類中的__str__方法(也就是對象的綁定方法)它是一種默認的方法,默認的打印輸出為<__main__.Foo o

Python-繼承中的MRO與super

puthon摘要本文講述Python繼承關系中如何通過super()調用“父類”方法,super(Type, CurrentClass)返回CurrentClass的MRO中Type的下一個類的代理;以及如何設計Python類以便正確初始化。1. 單繼承中父類方法調用在繼承中,調用父類方法是很有必要的。調用父

Python---面向對象的程序設計思想(一)

anim 它的 代碼冗余 tell 汽水 處理流程 關系 apach 精準 thon的面向對象 一、面向過程與面向對象的對比 面向過程的程序設計的核心是過程(流水線式思維),過程即解決問題的步驟,面向過程的設計就好比精心設計好一條流水線,考慮周全什麽時候處理什麽東西。 優點

Python---面向對象第三彈(篇)

python對象 one iss pri each super left connect ext  Python對象中一些方法 一、__str__ class Teacher: def __init__(self,name,age): self.name

python---Python中的socket編程(一)

bin prot repr loop lang ket 應用 ndt 接收 初識socket編程 一、前言 socket基於C\S架構(客戶端\服務端)的編程模型,在Python中是以socket模塊存在的。 Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它

Python(3)_程與線程中的lock(互斥鎖、遞歸鎖、信號量)

fun 我們 bsp 控制 支持 發生 class 線程 數據操作 1、同步鎖 (Lock) 當各個線程需要訪問一個公共資源時,會出現數據紊亂 例如: 1 import threading,time 2 def sub(): 3 global num

python------程線程(五)

dex locked cep 陌生 cnblogs 信號 fault sig utf8 Python中的IO模型 同步(synchronous) IO和異步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分別是什麽,

python (轉自http://python.jobbole.com/82633/)

火狐 數字 2.7 傳遞 https 可用 ips 編碼器 XML 網絡 通用 urllib -網絡庫(stdlib)。 requests -網絡庫。 grab – 網絡庫(基於pycurl)。 pycurl – 網絡庫(綁定libcurl)。 urllib3 – Py

python學習(一)

分享 target for buffer yun lena hello pri true 同樣是《python基礎教程(第二版)》的內容,只是後面內容學起來,相比前面會比較有趣,也更加實用,所以,將“基礎”改為“進階”。 python 電子書分享地址:http://yu

有哪些比較好的講Python的博客?

python 進階博客 Python是一種動態解釋型的編程語言,它可以在Windows、UNIX、MAC等多種操作系統以及Java、.NET開發平臺上使用。不過包含的內容很多,加上各種標準庫、拓展庫,亂花漸欲迷人眼。因此如何進階Python顯得非常重要。接下來看看比較好的講Python進階的博客,我這

Python 之 函數對象

col blog pytho 函數 定義 pri pan log code Python的世界裏,萬物皆對象,函數當然也是: 首先要定義一個函數: def add(a,b): print a+b 其次定義一個字典來引用該函數: dic = {"add":add

Python---python strip() split()函數實戰(轉)

ogl alt rate syn str1 valid blog xxxxxxxx www 先看一個例子: >>> ipaddr = 10.122.19.10 File "", line 1 ipaddr = 10.122.19.10

python學習(一)--多線程編程

不用 才會 睡眠 關鍵字參數 war 信息 target 函數傳遞 消息隊列 1. 多線程 概念:簡單地說操作系統可以同時執行多個不用程序。例如:一邊用瀏覽器上網,一邊在聽音樂,一邊在用筆記軟件記筆記。 並發:指的是任務數多余cpu核數,通過操作系統的各種任務調度算

Python 學習筆記

def 進階學習 學習 blog 私有屬性 屬性和方法 .get line person 把函數作為參數 import math def add(x, y, f): return f(x) + f(y) print add(9, 16, math.sqr