python學習詳解 Python學習之字典詳解

2021-10-12 11:32:55 字數 2623 閱讀 6383

在元組和列表中,都是通過編號進行元素的訪問,但有的時候我們按名字進行資料甚至資料結構的訪問,在c++中有map的概念,也就是對映,在python中也提供了內建的對映型別--字典。對映其實就是一組key和value以及之間的對映函式,其特點是:key的唯一性、key與value的一對多的對映。

1.字典的建立

字典的基本形態dic=

建立方式1:直接型。

dict1={}

dict2=

建立方式2:使用工廠方法dict,通過其他對映(例如字典)或者(鍵,值)這樣的序列對建立

items=[('name','earth'),('port','80')]

dict2=dict(items)

dict1=dict((['name','earth'],['port','80']))

建立方式3:使用內建方法fromkeys()建立』預設『字典,字典中元素具有相同的value(如果沒有給出,預設為none)

dict1={}.fromkeys(('x','y'),-1)

#dict=

dict2={}.fromkeys(('x','y'))

#dict2=

2.訪問字典中的值

最常用和基本的莫過於利用key訪問value了

a.通過key訪問value之get方法

dict1.get('name')#也可以直接是dictionary['key1'],但是當key1不存在其中時,會報錯;此時用get則返回none

b.隨機訪問其中鍵值對

字典中是無序的,利用popitem方法是隨機彈出乙個鍵值對

c.返回字典所有值的列表

方法values

3.訪問字典中的key

a.檢查是否含有key1

dictionary.has_key(key1)

key1 in dictionarty

key1 not dictionary

b.返回字典中鍵的列表

dictionary.keys()

4.訪問鍵值對

a.遍歷方式

for r in dicitonary  #r是dictionary中的鍵值對

b.修改(更新)或新增

dictionary[key1]=value1

5.刪除

a.按key刪除

del dictionary[key1]

b.刪除並返回

dictionary.pop(key1)

c.刪除所有項

dictionary.clear()

del dictionary

6.排序

sorted(dic.iteritems(), key=lambda d:d[1], reverse=false)

說明:對字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d沒關係,可以改為a什麼的)進行公升序排序,通過設定reverse的true或false可以進行逆序,並返回排序後的字典(該排序後的字典由元組組成,其形式為[(key1,value1),(key2,value2),...],且原字典保持不變)

7.其他

len(dictionary) #返回字典項個數

dictionary.item()

dictionary.iteritems()

方法名字操作

dict.clear()

刪除字典中所有元素

dict.copy()

返回字典(淺複製)的乙個副本

dict.fromkeysc(seq,val=none)

建立並返回乙個新字典,以seq 中的元素做該字典的鍵,val 做該字典中所有鍵對應的初始值(如果不提供此值,則預設為none)

dict.get(key,default=none)

對字典dict 中的鍵key,返回它對應的值value,如果字典中不存在此鍵,則返回default 的值(注意,引數default 的預設值為none)

dict.has_key(key)

如果鍵(key)在字典中存在,返回true,否則返回false. 在python2.2版本引入in 和not in 後,此方法幾乎已廢棄不用了,但仍提供乙個 可工作的介面。

dict.items()

返回乙個包含字典中(鍵, 值)對元組的列表

dict.keys()

返回乙個包含字典中鍵的列表

dict.values()

返回乙個包含字典中所有值的列表

dict.iter()

方法iteritems(), iterkeys(), itervalues()與它們對應的非迭代方法一樣,不同的是它們返回乙個迭代子,而不是乙個列表。

dict.pop(key[, default])

和方法get()相似,如果字典中key 鍵存在,刪除並返回dict[key],如果key 鍵不存在,且沒有給出default 的值,引發keyerror 異常。

dict.setdefault(key,default=none)

和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

dict.setdefault(key,default=none)

和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

Python學習筆記 1 1 2 認識Python

一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...

python演算法題 鍊錶反轉詳解 python

鍊錶的反轉是乙個很常見 很基礎的資料結構題,輸入乙個單向鍊錶,輸出逆序反轉後的鍊錶,如圖 上面的鍊錶轉換成下面的鍊錶。實現鍊錶反轉有兩種方式,一種是迴圈迭代,另外一種方式是遞迴。第一種方式 循壞迭代 循壞迭代演算法需要三個臨時變數 pre head next,臨界條件是鍊錶為none或者鍊錶就只有乙...

python學習方法 十二種學習Python的方法

python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...