python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,字典是另 一種可變容器模型,且可儲存任意型別物件。具有極快的查詢速度。
字典是一種通過名字或者關鍵字引用的得資料結構,其鍵可以是數字、字串、元組,這種結構型別也稱之為對映。字典型別是python中唯一內建的對映型別,基本的操作包括如下:
(1) len() : 返回字典中 鍵:值對 的數量
(2) d[k] : 返回關鍵字對應的值;
(3) d[k] = v : 將值關聯到鍵值k上;
(4) del d[k ] :刪除鍵值為k的項;
(5) key in d : 鍵值key是否在d中,是返回true,否則返回false
d =],"k4": (11, 22, 33, 44)
}
d =
d1 = # 正確d2 = } # 錯誤! 因為列表 布林值 字典都是可變的,不能作為鍵(key)
d3 =print(d)
# 列印結果可能是這樣
# 也有可能是這樣
# 甚至可能是這樣
......
v = d["k1"] # 取出k1對應的valuev1 = d["k3"][1]["kk3"][0] # 取出kk3對應的value中的11
print(v, v1)
2.不可通過切片方式獲取鍵值對,因為字典無序
3.for迴圈取key和value
d4 =# 迴圈所有的key (或這麼寫:for item in d4.keys():)
for item in d4:
print(item)
列印結果:
year
month
day# 迴圈所有的value
for item in d4.values():
print(item)
列印結果:
2018318
# 迴圈所有的key:value
for item in d4.keys():
print(item, ':', d4[item])
for k, v in d4.items(): # 用items方法 k接收key ,v接收value
print(k, v)
1.函式(3):
1.str(dict) #輸出字典可以列印的字串表示
d6 =content = str(d6)
print(content)
列印結果:
2.len(dict) #計算字典內元素的個人,即鍵的總數
d7 =count = len(d7)
print(count)
列印結果:3
3.type(variable) #返回輸入的變數型別,如果變數型別是字典就返回字典
d8 =ty = type(d8)
print(ty)
列印結果:
2.方法()
1.刪除
d4 =del d4[9102] # 刪除元素 9102:bibi
print(d4) # 列印結果:
d4.clear() # 清空字典
print(d4) # 列印結果:{}
del d4 # 刪除字典
2.items()方法,迴圈獲取key和value
d4 =for k, v in d4.items(): # 用items方法 k接收key ,v接收value
print(k, v)
3.keys()方法,迴圈獲取所有key
d4 =for item in d4.keys(): # 迴圈所有的key
print(item)
4.values()方法,迴圈獲取所有value
d4 =for item in d4.values(): # 迴圈所有的values
print(item)
5.copy(淺拷貝)
d4 =dict2 = d4.copy()
print ("新複製的字典為 : ",dict2)
6.fromkeys() 建立乙個新字典,fromkeys(*args, **kwargs) 以*args中元素做字典的鍵,**kwargs為字典所有鍵對應的初始值
new_d = ('year', 'month', 'day')dict1 = dict.fromkeys(new_d)
print("新的字典 : %s" % str(dict1))
dict1 = dict.fromkeys(new_d, 8)
print("新的字典 : %s" % str(dict1))
列印結果:
新的字典 :
新的字典 :
7.get()方法根據key獲取值 get(self, k, d=none) 引數:k:待操作的鍵(key), d:預設為none,在獲取鍵的時候,如果不存在就返回 none 或指定什麼就返回什麼
d9 =v = d9.get('day')
print('key存在時:', v)
v1 = d9.get('hour')
print('key不存在時:', v1)
v2 = d9.get('hour', 1234)
print("key不存在時並指定返回值:", v2)
列印結果:
存在: 18
key不存在時: none
key不存在時並指定返回值: 1234
8.pop()方法刪除指定的key,pop(self, k, d=none) 引數: k:待刪除的key d:如果待刪除的key,則返回none ,或指定什麼返回什麼
d9 =v = d9.pop('day')
print('key存在時:', v) # key存在時: 18
v1 = d9.pop('hour')
print('key不存在時:', v1) # key不存在時報錯
v2 = d9.pop('hour', 1234)
print("key不存在時並指定返回值:", v2) # key不存在時並指定返回值: 1234
9.popitem()方法,隨機刪除乙個鍵值對
d10 =v1 = d10.popitem()
k, v = d10.popitem()
print(v1, k, v) # 列印結果:('day', 18) month 3
10.setdefault 方法,給字典設定(增加)新的鍵,存在就不設定(獲取當前key對應的值),不存在就設定並返回當前key對應的值 setdefault(self, k, d=none) 引數:k:待設定(新增)的key d:預設為空,可以指定value值
d11 =v = d11.setdefault('hour', '10') # 如果待加入的key跟字典內重複,則不會新增
print(d11, v) # 列印結果: 10#
11.update方法 ,更新字典 update(self, e=none, **f)
d12 =d12.update() # 第一種寫法
# d12.update(year=2019, day=20, hour=10) # 第二種寫法
print(d12) # 列印結果: # 已存在的key就覆蓋,不存在的key就新增進字典
Python字典 dict 詳解
三.字典 dict 的一些基本操作 四.字典 dict 的常見操作 五.字典三種取值方式 六.字典的遍歷 python字典是另一種可變容器模型,可儲存任意型別物件。如字串 數字 元組等其他容器模型 因為字典是無序的所以不支援索引和切片。格式 字典名 元素以鍵值對存在 key 鍵值 value 實值 ...
Python基礎之字典dict
字典的特性,鍵值對出現 字典的定義 字典的key不可重複,如果key重複的話,預設最後乙個元素新增到字典中,多個元素之間用逗號分割。字典是無序的 定義乙個字典 例 dic 字典的常用方法 fromkeys 引數是乙個可迭代型別,把每乙個迭代物件變成字典的key,value預設為none 可以修改 例...
python基礎之字典 dict
字典 dict 是一種key value 字典是無序的,不能像str list 一樣 通過index查詢資料 字典內可以迴圈巢狀list dict等 列表key是唯一的,值不限制 學號 姓名 info 新增 修改 info 004 1 查詢print info.get 001 通過key獲取valu...