原文:https://www.jianshu.com/p/17fc4462b6f9
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 } #键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
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() #创建一个空字典 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)#如果键有重复,其值为最后重复项的值。 #传入映射对象,字典创建字典 d = dict({'one': 1, 'two': 2, 'three': 3}) print(d) print(a == b == c == d)
zip函数可以接受多个参数,返回的结果是列表,列表中的每一个元素是元组的数据类型
list1 = [1,2,3] list2 = [4,5,6] list3 = [7,8,9] zip(list1,list2,list3) #最后的返回的结果是: [(1,4,7),(2,5,8),(3,6,9)] 2)
list1 = [1,2,3] list2 = [4,5,6,7] zip(list1,list2) 返回的结果是 #[(1,4),(2,5),(3,6)]
list1 = [1,2,3] zip(list1) #最后的返回结果是 [(1,),(2,),(3,)]
zip() #最后的返回结果是[]
dict函数用来快速构造字典,我们可以通过向dict函数传递不同的参数一不同的方式来创建字典,下面我们来了解一下几种常见的构造字典的方式
1)创建空字典
a = dict()#创建空字典 print(a) 结果 {}
2)传入关键字
b = dict(a=1,b=2,c=3) print(b) 得到的结果是: {"a":1,"b":2,"c":3}
3)传入一个字典:
c = dict({'three': 3, 'four': 4}) print(c) 结果 {'four': 4, 'three': 3}
4)传入可迭代对象
d = dict([('one', 1), ('two', 2), ('three', 3)]) print(d) 得到的结果是 {'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一键对应多值
# -*- 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()