字典初始化:
1. dict_a={'a':1,'b':2}
print(dict_a)
print(type(dict_a))
{'a': 1, 'b': 2}
<class 'dict'>
2. dict_b=dict(a=1,b=2)
dict_b=dict({'a':1,'b':2})
dict_b=dict((('a',1),('b',2)))
print(dict_b,type(dict_b))
3. dict_c={}.fromkeys(('a','b','c'),12)
print(dict_c)
{'b': 12, 'a': 12, 'c': 12}
字典的方法
1、adict.keys() 返回一个包含字典所有KEY的列表;
2、adict.values() 返回一个包含字典所有value的列表;
3、adict.items() 返回一个包含所有(键,值)元祖的列表;
4、adict.clear() 删除字典中的所有项或元素;
5、adict.copy() 返回一个字典浅拷贝的副本;
6、adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
7、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
8、adict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
9、adict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
10、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
11、adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
12、adict.update(bdict) 将字典bdict的键值对添加到字典adict中。
json:
json.load() 从文件解码json数据
json.loads() 从字符串解码json数据 将已编码的 JSON 字符串解码为 Python 对象
json.dump() 编码json数据到文件
json.dumps() 编码json数据到字符串 将 Python 对象编码成 JSON 字符串
1.导入json模块
import json
2.定义一个空字典dict_a,空字典dict_b
dict_a={}
dict_b=dict()
3.给dict_a 添加3个key a1,a2,a3分别对应的值为b1,b2,b3
dict_a={}
dict_b=dict()
dict_a['a1']='b1'
dict_a['a2']='b2'
dict_a['a3']='b3'
print(dict_a)
{'a1':'b1', 'a3': 'b3', 'a2': 'b2'}
4.获取dict_a所有的key,命名变量ks,打印输出ks及ks的数据类型
dict_a={}
dict_b=dict()
dict_a['a1']='b1'
dict_a['a2']='b2'
dict_a['a3']='b3'
print(dict_a)
ks=dict_a.keys()
print(ks,type(ks))
{'a3': 'b3', 'a1': 'b1', 'a2': 'b2'}
dict_keys(['a3', 'a1', 'a2']) <class 'dict_keys'>
5.打印dict_a所有的value 命名变量vs,打印输出vs及vs的数据类型
dict_a={'a3': 'b3', 'a1': 'b1', 'a2': 'b2'}
vs=dict_a.values()
print(vs,type(vs))
dict_values(['b1', 'b2', 'b3']) <class 'dict_values'>
6.执行代码print(dict_a.items()) 观察输出结果
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict_items([('a3', 'b3'), ('a1', 'b1'), ('a2', 'b2')])
7.将a1和a3对应的值对换
8.打印输出dict_a
dict_a['a1']='b3'
dict_a['a3']='b1'
dd=dict_a.get('a1')
print(dd)
dict_a['a1']=dict_a['a3']
dict_a['a3']=dd
print(dict_a)
b1
{'a2': 'b2', 'a3': 'b1', 'a1': 'b3'}
9.删除字典dict_a中a1对应的值
10.打印输出dict_a
ff=dict_a.pop('a1')
print(dict_a)
{'a3': 'b1', 'a2': 'b2', 'a1': 'b3'}
{'a3': 'b1', 'a2': 'b2'}
11.将此时的dict_a数据更新到dict_b
dict_b.update(dict_a)
print(dict_b)
{'a3': 'b1', 'a2': 'b2'}
12.打印dict_b 并观察a1和a4是否在dict_b中
print(dict_b.get('a1'))
print(dict_b.get('a4'))
None
None
13.a1如不存在dict_b中,输入以下代码 a1=dict_b.get('a1') 并打印变量a1
a1=dict_b.get('a1')
print(a1)
None
14.将13题变量a1 添加到dict_b中,key为'a1'
dict_b['a1']='a1'
print(dict_b)
{'a3': 'b1', 'a1': 'a1', 'a2': 'b2'}
15.a4如不存在dict_b中,将a4对应的值默认为'null',并添加到dict_b中,key为'a4'
a4=dict_b.get('a4','null')
dict_b['a4']=a4
16.打印dict_b及其数据类型
dict_b['a4']='null'
print(dict_b,type(dict_b))
{'a4': 'null', 'a2': 'b2', 'a1': 'a1', 'a3': 'b1'} <class 'dict'>
17.将dict_b转化为json类型 命名为变量 json_c
json_c=json.dumps(dict_b)
print(json_c,type(json_c))
{"a4": "null", "a1": "a1", "a2": "b2", "a3": "b1"} <class 'str'>
18.打印json_c及其数据类型 观察16题打印结果和18题结果 将不同之处指明
类型从字典到字符串
19.将json_c转换为字典类型 命名为dict_c 打印输出 dict_c及其数据类型
dict_c=json.loads(json_c)
print(dict_c,type(dict_c)
{'a2': 'b2', 'a3': 'b1', 'a4': 'null', 'a1': 'a1'} <class 'dict'>