Python:字典(zip, dict)

字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象?/p>

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }
#鍵必須是唯一的,但值則不必。

值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。

訪問字典中的值

dict={key1:value1, key2:value2}
dict[key1]

修改字典的值

增加新的鍵/值對,修改或刪除已有鍵/值

>>> d={'a':1,'b':2}
>>> print(d['a'])
1
>>> d['c']=3#增加鍵對
>>> print(d['c'])
3
>>> d['b']=4#修改鍵對
>>> print(d['c'])
3
>>> print(d)
{'a': 1, 'c': 3, 'b': 4}

刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。
刪除一個字典用del命令,如下實例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 刪除鍵 'Name'
dict.clear()     # 清空字典
del dict         # 刪除字典
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

字典的一鍵多值

d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value)
empty_dict = dict() #創(chuàng)建一個空字典
print(empty_dict)
a = dict(one=1,two=2,three=3) 
print(a)
b = dict(zip(['one','two','three'],[1,2,3]))
print(list(zip(['one','two','three'],[1,2,3])))
print(b)
c = dict([('one', 1), ('two', 2), ('three', 3)])
print(c)
c1 = dict([('one', 1), ('two', 2), ('three', 3),('three', 4),('three', 5)])
print(c1)#如果鍵有重復(fù),其值為最后重復(fù)項的值。 


#傳入映射對象,字典創(chuàng)建字典  

d = dict({'one': 1, 'two': 2, 'three': 3}) 
print(d) 
print(a == b == c == d)

zip函數(shù)

zip函數(shù)可以接受多個參數(shù),返回的結(jié)果是列表,列表中的每一個元素是元組的數(shù)據(jù)類型

list1 = [1,2,3]
list2 = [4,5,6]
list3 = [7,8,9]
zip(list1,list2,list3)
#最后的返回的結(jié)果是:
[(1,4,7),(2,5,8),(3,6,9)]
2)
list1 = [1,2,3]
list2 = [4,5,6,7]
zip(list1,list2)
返回的結(jié)果是
#[(1,4),(2,5),(3,6)]
list1 = [1,2,3]
zip(list1)
#最后的返回結(jié)果是
[(1,),(2,),(3,)]
zip()
#最后的返回結(jié)果是[]

2.dict函數(shù)

dict函數(shù)用來快速構(gòu)造字典,我們可以通過向dict函數(shù)傳遞不同的參數(shù)一不同的方式來創(chuàng)建字典,下面我們來了解一下幾種常見的構(gòu)造字典的方式
1)創(chuàng)建空字典

a = dict()#創(chuàng)建空字典
print(a)
結(jié)果
{}

2)傳入關(guān)鍵字

b = dict(a=1,b=2,c=3)
print(b)
得到的結(jié)果是:
{"a":1,"b":2,"c":3}

3)傳入一個字典:

c = dict({'three': 3, 'four': 4})
print(c)
結(jié)果
{'four': 4, 'three': 3}

4)傳入可迭代對象

d = dict([('one', 1), ('two', 2), ('three', 3)])
print(d)
得到的結(jié)果是
{'three': 3, 'two': 2, 'one': 1}

print (’——————一鍵多值———————’)
dic1 = {}
key = 1
value = 2
dic1.setdefault(key, []).append(value)
value = 3
dic1.setdefault(key, []).append(value)
print(‘dic1 = ’, dic1)

json一鍵對應(yīng)多值

# -*- coding:utf-8 -*-  
import json
dic1 = {}
key = 'key1'
value = 'value1'
dic1.setdefault(key, []).append(value)
value = 'value2'
dic1.setdefault(key, []).append(value)
print('dic1=', dic1)
jsobj=json.dumps(dic1)
with open('result.json','w')as f:
  f.write(jsobj)
  f.close()

字典生成json文件

# -*- coding:utf-8 -*-  
import json
key = ['key1','key2','key3']
value = ['value1','value2','value3']
d=dict(zip(key,value))
jsobj=json.dumps(d)
with open('result.json','w')as f:
  f.write(jsobj)
  f.close()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容