python字典的建立和輸出 字典的建立和使用

2021-10-18 15:17:07 字數 3441 閱讀 2399

直接建立

d =

輸出結果:

dict函式

# 通過序列對建立字典

vaulues = [('name', 'daniel'), ('age', 23), ('***', 1)]

print dict(values)

# 通過關鍵字建立字典

print dict(name='daniel', age=23, ***=1)

# 如果 dict 不傳入任何引數將會返回乙個空字典

print dict()

輸出結果:

基本字典操作

d =

# 返回d項中(鍵-值對)的數量

len(d)

# 刪除鍵為name的項

del d['age']

# 檢查d中是否含有鍵為name的項,返回true或者false

'name' in d

字典的鍵型別(任何不可變型別):int, float, string, tuple

# int

# float

# string

# tuple

字典的格式化字串

data =

template = 'name=%(name)s,age=%(age)s,***=%(***)s'

print template % data

template = 'name=,age=,***='

print template.format(**data)

輸出結果:

name=daniel,age=23,***=1

name=daniel,age=23,***=1

字典方法

1、clear 清除字典中所有項

d =

d.clear()

print d

2、copy 返回乙個具有相同鍵值對的新字典(這個方法實現的淺複製)

data1 =

data2 = data1.copy()

data1['name'] = 'biu'

data1['machines'].remove('bar')

print data1

print data2

輸出結果:

淺複製說明:(待說明...)

3、deepcopy 返回乙個具有相同鍵值對的新字典(這個方法實現的深複製)

from copy import deepcopy

data1 =

data2 = deepcopy(data1)

data1['name'] = 'biu'

data1['machines'].remove('bar')

print data1

print data2

輸出結果:

深複製說明:(待說明...)

4、fromkeys 使用給定的鍵建立新的字典,每個鍵預設對應的值為none

print dict.fromkeys(['name', 'age'])

# 如果不想使用none作為預設值,也可以自己提供預設值

print dict.fromkeys(['name', 'age'], 'null')

輸出結果:

5、get 是乙個更寬鬆的訪問字典項的方法,訪問乙個不存在的鍵時,沒有任何異常,而得到了none值。還可以自定義預設值,替換none

d = {}

print d.get('name')

print d.get('name', 'n/a')

d['name'] = 'daniel'

print d.get('name')

輸出結果:

none

n/adaniel

6、has_key 檢查字典中是否含有給出的鍵,相當於表示式 k in d,使用那種方式很大程度取決於個人愛好。python 3.0中不包含這個函式。

d = {}

print d.has_key('name')

d['name'] = 'daniel'

print d.has_key('name')

輸出結果:

false

true

7、items和iteritems

items將所有的字典以列表方式返回,這些列表項中的每一項都來自(鍵, 值)。但是在返回是並沒有特殊的順序。

iteritems的作用大致相同,但是會返回乙個迭代器物件而不是列表

d =

print d.items()

d =

it = d.iteritems()

print it

print list(it)

輸出結果:

[('url', ''), ('spam', 0), ('title', 'python')]

[('url', ''), ('spam', 0), ('title', 'python')]

8、keys和iterkeys,keys將字典中的鍵以列表形式返回,而iterkeys則返回針對鍵的迭代器

d =

print d.keys()

print d.iterkeys()

輸出結果:

['url', 'spam', 'title']

9、pop 用來獲得對應於給定鍵的值,然後將這個鍵-值對從字典中移除

d =

d.pop('age')

print d

輸出結果:

9、popitem 彈出隨機的項,因為字典並沒有最後的元素或者其它有關順序的概念

d =

print d.popitem()

print d

輸出結果:

('age', 23)

10、setdefault 類似於get方法,就是能夠獲得與給定鍵相關關聯的值,還能在字典中不含有給定鍵的情況下設定相應的鍵值

d = {}

print d.setdefault('name', 'n/a')

print d

d['name'] = 'daniel'

print d.setdefault('name', 'n/a')

print d

輸出結果:

n/adaniel

11、update 可以利用乙個字典項更新另乙個字典

d =

x =

d.update(x)

print d

d.update(name='biubiu')

print d

提供的字典中的項會被新增到舊的字典中,若有相同的鍵則會進行覆蓋

輸出結果:

12、values和itervalues,values方法以列表的形式返回字典中的值,itervalues返回值的迭代器。與返回鍵的列表不同的是,返回值的列表中可以包含重複元素

d =

print d.values()

輸出結果:

[1, 2, 3, 1]

python 建立和使用字典

1 定義 d 2 函式dict items name fengqi age 22 d dict items print d 還可以使用關鍵字實參來呼叫 d dict name fengqi age 22 print d 1 len d 返回項數 2 d k 返回鍵k對應的值 3 d k v 將值v關...

Python中字典的建立和使用

對乙個字典執行 list d 將返回包含該字典中所有鍵的列表,按插入次序排列 如需其他排序,則要使用 sorted d 要檢查字典中是否存在乙個特定鍵,可使用 in 關鍵字。實驗1 microsoft windows 版本 10.0 18363 1198 c 2019 microsoft corpo...

目錄樹的建立和輸出

在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入格式說明 輸入首先給出正整數n 104 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的...