【Python爬蟲】字典 json類型 練習(xí)

字典初始化:

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() 刪除字典中的所有項(xiàng)或元素蛹磺;
5、adict.copy() 返回一個字典淺拷貝的副本同仆;
6萤捆、adict.fromkeys(seq, val=None) 創(chuàng)建并返回一個新字典,以seq中的元素做該字典的鍵,val做該字典中所有鍵對應(yīng)的初始值(默認(rèn)為None)俗或;
7市怎、adict.get(key, default = None) 返回字典中key對應(yīng)的值,若key不存在字典中辛慰,則返回default的值(default默認(rèn)為None)区匠;
8、adict.has_key(key) 如果key在字典中帅腌,返回True驰弄,否則返回False。 現(xiàn)在用 in 速客、 not in戚篙;
9、adict.iteritems()溺职、adict.iterkeys()岔擂、adict.itervalues() 與它們對應(yīng)的非迭代方法一樣,不同的是它們返回一個迭代子浪耘,而不是一個列表乱灵;
10、adict.pop(key[,default]) 和get方法相似点待。如果字典中存在key阔蛉,刪除并返回key對應(yīng)的vuale弃舒;如果key不存在癞埠,且沒有給出default的值,則引發(fā)keyerror異常聋呢;
11苗踪、adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key鍵削锰,由 adict[key] = default 為它賦值通铲;
12、adict.update(bdict) 將字典bdict的鍵值對添加到字典adict中器贩。

json:

json.load()      從文件解碼json數(shù)據(jù)

json.loads()     從字符串解碼json數(shù)據(jù)        將已編碼的 JSON 字符串解碼為 Python 對象

json.dump()      編碼json數(shù)據(jù)到文件

json.dumps()     編碼json數(shù)據(jù)到字符串     將 Python 對象編碼成 JSON 字符串

1.導(dǎo)入json模塊

import json

2.定義一個空字典dict_a,空字典dict_b

dict_a={}
dict_b=dict()

3.給dict_a 添加3個key a1,a2,a3分別對應(yīng)的值為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的數(shù)據(jù)類型

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的數(shù)據(jù)類型

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.執(zhí)行代碼print(dict_a.items()) 觀察輸出結(jié)果

  dict.items()    返回一個包含字典中(鍵, 值)對元組的列表
  dict_items([('a3', 'b3'), ('a1', 'b1'), ('a2', 'b2')])

7.將a1和a3對應(yīng)的值對換
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對應(yīng)的值
10.打印輸出dict_a

ff=dict_a.pop('a1')
print(dict_a)

{'a3': 'b1', 'a2': 'b2', 'a1': 'b3'}
{'a3': 'b1', 'a2': 'b2'}

11.將此時的dict_a數(shù)據(jù)更新到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對應(yīng)的值默認(rèn)為'null',并添加到dict_b中,key為'a4'

a4=dict_b.get('a4','null')
dict_b['a4']=a4

16.打印dict_b及其數(shù)據(jù)類型

dict_b['a4']='null'
print(dict_b,type(dict_b))

{'a4': 'null', 'a2': 'b2', 'a1': 'a1', 'a3': 'b1'} <class 'dict'>

17.將dict_b轉(zhuǎn)化為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及其數(shù)據(jù)類型 觀察16題打印結(jié)果和18題結(jié)果 將不同之處指明

類型從字典到字符串

19.將json_c轉(zhuǎn)換為字典類型 命名為dict_c 打印輸出 dict_c及其數(shù)據(jù)類型

dict_c=json.loads(json_c)
print(dict_c,type(dict_c)

{'a2': 'b2', 'a3': 'b1', 'a4': 'null', 'a1': 'a1'} <class 'dict'>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颅夺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蛹稍,更是在濱河造成了極大的恐慌吧黄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唆姐,死亡現(xiàn)場離奇詭異拗慨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門赵抢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剧蹂,“玉大人,你說我怎么就攤上這事烦却〕璧穑” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵其爵,是天一觀的道長车吹。 經(jīng)常有香客問我,道長醋闭,這世上最難降的妖魔是什么窄驹? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮证逻,結(jié)果婚禮上乐埠,老公的妹妹穿的比我還像新娘。我一直安慰自己囚企,他們只是感情好丈咐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著龙宏,像睡著了一般棵逊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上银酗,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天辆影,我揣著相機(jī)與錄音,去河邊找鬼黍特。 笑死蛙讥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灭衷。 我是一名探鬼主播次慢,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼翔曲!你這毒婦竟也來了迫像?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤瞳遍,失蹤者是張志新(化名)和其女友劉穎闻妓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傅蹂,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纷闺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年算凿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片犁功。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡氓轰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浸卦,到底是詐尸還是另有隱情署鸡,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布限嫌,位于F島的核電站靴庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怒医。R本人自食惡果不足惜炉抒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稚叹。 院中可真熱鬧焰薄,春花似錦、人聲如沸扒袖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽季率。三九已至野瘦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間飒泻,已是汗流浹背鞭光。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蠢络,地道東北人衰猛。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像刹孔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子娜睛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容