直接建立
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行,每行有如下格式的...