python中的字典及嵌套遍歷
python字典及嵌套遍歷
字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象?/p>
字典的每個鍵值 key:value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中
dict1={'apple':23,'banana':34,'cherry':6}
dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
dict3={'java':{'year':'1996','url':'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}訪問字典里的值
獲取字典里的值方式有兩種,一個是通過字典的key值下標獲取對應value,還可以通過get方法獲取對應value

區(qū)別:
使用key下標的方式,如果用字典里沒有的鍵訪問數(shù)據(jù),會拋KeyError的異常。
而使用get方法,如果鍵不在字典中返回默認值 None 或者設置的默認值。
修改字典
dict1={'apple':23,'banana':34,'cherry':6}
dict1['apple'] = 8 # 更新
dict1['orange'] = 34 # 添加刪除字典元素
dict3 ={'java':[1,2],'python':[3,4],'c++':[5,6]}
#========刪除元素
print('刪除前',dict3)
del dict3['java']
print('刪除后',dict3)
#=======清空字典所有條目
print('清空字典所有條目',dict3.clear())
#========刪除字典
del dict3嵌套字典遍歷與內(nèi)置函數(shù)
items()—函數(shù) Python 字典(Dictionary) items() 函數(shù)以列表返回可遍歷的(鍵, 值) 元組數(shù)組。
#======items函數(shù) 嵌套for循環(huán)
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
for key,value in dict3.items():
print('外層key',key)
print('外層value',value)
for key1,value1 in value.items():
print('內(nèi)層key',key1)
print('內(nèi)層value',value1)keys() — Python 字典(Dictionary) keys() 函數(shù)以列表返回一個字典所有的鍵。values() — Python 字典(Dictionary) values() 函數(shù)以列表返回字典中的所有值。
#========方法二 使用keys() ,values() 函數(shù)獲取嵌套字典的所有key,value
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
print(dict3.keys())
for i in range(len(list(dict3.values()))):
print(list(dict3.values())[i].values())fromkeys() —Python 字典 fromkeys() 函數(shù)用于創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值。
seq = ('Google', 'Runoob', 'Taobao')
# 不指定默認的鍵值,默認為 None
thisdict = dict.fromkeys(seq)
print ("新字典為 : %s" % str(thisdict))
# 指定默認的鍵值
thisdict = dict.fromkeys(seq, 10)
print ("新字典為 : %s" % str(thisdict))popitem()—Python 字典 popitem() 方法返回并刪除字典中的最后一對鍵和值。
dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
pop_obj=dict2.popitem()
print(pop_obj)
print(site)字典的常用方法(定義、新增、刪除、更新、遍歷、嵌套等)
什么是字典?
生活中的字典:通過字去找含義。
Python的字典:通過key去找vaule
為什么需要字典?
應用場景:有一份名單記錄了學生和對應的成績,現(xiàn)在需要通過Python錄入到程序中,并可以通過學生姓名找到其成績。
可以通過Key(姓名)找到value(成績)
字典
一、字典的定義
1、定義字典字面量
{key:value,key:value......}2、定義字典變量
my_dict = {key:value,key:value......}3、定義空字典
my_dict = {}
my_dict = dict()4、通過key獲取value
例:
my_dict = {"張":99,"王":98,"李":97}
score = my_dict["張"]
print(score)5、字典的嵌套
字典的key和value可以是任意數(shù)據(jù)類型(key不可為字典)
例:記錄學生各科的考試信息
my_dict = {
? ? "張":{
? ? ? ? "語文":99,
? ? ? ? "數(shù)學":98
? ? },
? ? "王":{
? ? ? ? "語文":99,
? ? ? ? "數(shù)學":98
? ? }
}
score = my_dict["張"]["語文"]
print(score)二、常用操作
1、新增元素
語法:字典[key] = value
結果:字典被修改,新增元素
例:
my_dict = {"張":99,"王":98,"李":97}
my_dict["劉"] = 96
print(my_dict)2、更新元素
語法:字典[key] = value
結果:字典被修改,元素更新
例:
my_dict = {"張":99,"王":98,"李":97}
my_dict["張"] = 96
print(my_dict)3、刪除元素
語法:字典.pop(key)
結果:獲得指定key的value,字典被修改
例:
my_dict = {"張":99,"王":98,"李":97}
my_dict.pop("張")
print(my_dict)4、清空字典
語法:字典.clear()
結果:字典被修改,元素清空
例:
my_dict = {"張":99,"王":98,"李":97}
my_dict.clear()
print(my_dict)5、獲取全部的key
語法:字典.keys()
結果:得到全部key
例:
my_dict = {"張":99,"王":98,"李":97}
print(my_dict.keys())6、統(tǒng)計字典元素數(shù)量
語法:len(字典)
三、字典的遍歷
1、遍歷字典的key
例:
my_dict = {"張":100,"王":100,"李":100}
for keys in my_dict:
? ? print(keys)結果:
張
王
李
2、遍歷字典的value
例:
my_dict = {"張":100,"王":100,"李":100}
for values in my_dict.values():
? ? print(values)結果:
100
100
100
3、遍歷字典的item
例:
my_dict = {"張":100,"王":100,"李":100}
for items in my_dict.items():
? ? print(items)結果:
('張', 100)
('王', 100)
('李', 100)
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python如何將給定字符串中的大寫英文字母按以下對應規(guī)則替換
這篇文章主要介紹了Python如何將給定字符串中的大寫英文字母按以下對應規(guī)則替換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
詳解將Pandas中的DataFrame類型轉換成Numpy中array類型的三種方法
這篇文章主要介紹了詳解將Pandas中的DataFrame類型轉換成Numpy中array類型的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07

