您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行Python中Dict的元素定位和遍歷,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
dict這種對象我們可以通過 keys() 獲取所有的鍵的列表;
dict這種對象我們可以通過 values() 獲取所有的值的列表.
這樣有列表我們可以遍歷整個dict對象。
但是更多使用下面的風格:
mydict = { 'name': 'leixuewei', 'date': '20211104' } print("遍歷字典-----開始") for k, v in mydict.items(): print("key[%s] = value[%s]" % (k, v)) # 直接打印 print("遍歷字典-----結束")
這幾行代碼是可以直接復制運行。
下面學委準備了更加全面的代碼,展示了獲取key/value和遍歷操作等:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/3 11:34 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : dict_demo3.py # @Project : hello # 比如學委的信息作為一個字典 info_dict = dict() info_dict['name'] = 'LEI_XUE_WEI' # 或者改為 'levin' info_dict['blogs'] = '93' # 目前發表了93個博客文字。 info_dict['gongzhong_hao'] = '【雷學委】' # 歡迎過來關注支持 info_dict['meta-data'] = dict() print("包含特定key ?%s" % ('gongzhong_hao' in info_dict)) print('所有鍵的列表:%s ' % info_dict.keys()) print('所有值的列表:%s ' % info_dict.values()) print('獲取key對應的值:', info_dict['name']) # 獲取但是不設置到info_dict內 print('獲取key DemoKey 對應的值:', info_dict.get('DemoKey', '匿名用戶雷學委')) # print('獲取key對應的值:', info_dict['DemoKey']) #這句會拋出異常:KeyError: 'DemoKey' # 如果沒有某個key,進行設置默認值并返回 print('獲取key name對應的值:', info_dict.setdefault('name', '匿名用戶雷學委')) print('獲取key DemoKey 對應的值:', info_dict.setdefault('DemoKey', '匿名用戶雷學委')) print('獲取key DemoKey 對應的值:', info_dict['DemoKey']) print("遍歷字典-----開始") for key, value in info_dict.items(): print("\tkey[%s] = value[%s]" % (key, value)) print("遍歷字典-----結束") info_dict.clear() # 清空整個字典對象
效果如下:
這些操作都是比較基礎,但是必須隨手就來的,所以必須敲熟了。
字典的復制可以通過copy函數來實現,但是它是淺拷貝,也就是拷貝了但不完全拷貝
簡單來說就是拷貝key,但是新字典的值還是沿用舊字典的值的引用。
這里也順帶提一提fromkeys函數,這個創建的新字典,只照搬了key列表,新字典內所有值都是空的。
說這么多,我們看看字典的代碼示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/3 11:34 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : dict_demo4.py # @Project : hello '''dict的拷貝問題''' # 比如學委的信息作為一個字典 info_dict = dict() info_dict['name'] = 'LEI_XUE_WEI' # 或者改為 'levin' info_dict['blogs'] = '93' # 目前發表了93個博客文字。 info_dict['gongzhong_hao'] = '【雷學委】' # 歡迎過來關注支持 info_dict['meta-data'] = dict() # 選擇指定key列表局部拷貝 keys_copied_dict = info_dict.fromkeys(['name', 'blogs', 'zone']) print("keys_copied_dict :", keys_copied_dict) # 淺拷貝//Shadow Copy: 全拷貝但不完全拷貝 copied_dict = info_dict.copy() print("copied_dict :", copied_dict) shadow_copied_dict = info_dict.copy() print('shadow_copied_dict:', shadow_copied_dict) ## 雷學委提示:下面一行代碼修改了‘meta-data'這個key對應的值,我們并沒有直接修改shadow_copied_dict info_dict['meta-data']['date'] = '04 Nov 2021' print('info_dict:', info_dict) print('shadow_copied_dict:', shadow_copied_dict) # 這里輸出看到變化也傳遞給了 shadow_copied_dict print("*"*16 + "清空info_dict") info_dict.clear() print('info_dict:', info_dict) # clear 清空元素后 打印info_dict print('shadow_copied_dict:', shadow_copied_dict) # clear 清空元素后打印 copied_dict
效果如下:
關于如何進行Python中Dict的元素定位和遍歷就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。