【Python爬虫】字典 json类型 练习

字典初始化:

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'>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容