最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python中的Dict(下篇)

 更新時(shí)間:2021年12月16日 17:24:57   作者:雷學(xué)委  
這篇文章主要為大家介紹了Python中的Dict,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

學(xué)委前面展示dict的概念和增刪查改!這次我們把其他函數(shù)介紹補(bǔ)充了。

dict 的元素定位(鍵/值定位)和遍歷

dict這種對(duì)象我們可以通過 keys() 獲取所有的鍵的列表;

dict這種對(duì)象我們可以通過 values() 獲取所有的值的列表.

這樣有列表我們可以遍歷整個(gè)dict對(duì)象。

但是更多使用下面的風(fēng)格:

mydict = {
    'name': 'leixuewei',
    'date': '20211104'
}
print("遍歷字典-----開始")
for k, v in mydict.items():
    print("key[%s] = value[%s]" % (k, v))  # 直接打印
print("遍歷字典-----結(jié)束")

這幾行代碼是可以直接復(fù)制運(yùn)行。

下面學(xué)委準(zhǔn)備了更加全面的代碼,展示了獲取key/value和遍歷操作等:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/3 11:34 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學(xué)委
# @XueWeiTag: CodingDemo
# @File : dict_demo3.py
# @Project : hello

# 比如學(xué)委的信息作為一個(gè)字典
info_dict = dict()
info_dict['name'] = 'LEI_XUE_WEI'  # 或者改為 'levin'
info_dict['blogs'] = '93'  # 目前發(fā)表了93個(gè)博客文字。
info_dict['gongzhong_hao'] = '【雷學(xué)委】'  # 歡迎過來關(guān)注支持
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對(duì)應(yīng)的值:', info_dict['name'])
# 獲取但是不設(shè)置到info_dict內(nèi)
print('獲取key DemoKey 對(duì)應(yīng)的值:', info_dict.get('DemoKey', '匿名用戶雷學(xué)委'))
# print('獲取key對(duì)應(yīng)的值:', info_dict['DemoKey']) #這句會(huì)拋出異常:KeyError: 'DemoKey'
# 如果沒有某個(gè)key,進(jìn)行設(shè)置默認(rèn)值并返回
print('獲取key name對(duì)應(yīng)的值:', info_dict.setdefault('name', '匿名用戶雷學(xué)委'))
print('獲取key DemoKey 對(duì)應(yīng)的值:', info_dict.setdefault('DemoKey', '匿名用戶雷學(xué)委'))
print('獲取key DemoKey 對(duì)應(yīng)的值:', info_dict['DemoKey'])
print("遍歷字典-----開始")
for key, value in info_dict.items():
    print("\tkey[%s] = value[%s]" % (key, value))
print("遍歷字典-----結(jié)束")
info_dict.clear()  # 清空整個(gè)字典對(duì)象

效果如下:

這些操作都是比較基礎(chǔ),但是必須隨手就來的,所以必須敲熟了。

dict的復(fù)制(拷貝)

字典的復(fù)制可以通過copy函數(shù)來實(shí)現(xiàn),但是它是淺拷貝,也就是拷貝了但不完全拷貝

簡(jiǎn)單來說就是拷貝key,但是新字典的值還是沿用舊字典的值的引用。

這里也順帶提一提fromkeys函數(shù),這個(gè)創(chuàng)建的新字典,只照搬了key列表,新字典內(nèi)所有值都是空的。

說這么多,我們看看字典的代碼示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/3 11:34 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學(xué)委
# @XueWeiTag: CodingDemo
# @File : dict_demo4.py
# @Project : hello
'''dict的拷貝問題'''
# 比如學(xué)委的信息作為一個(gè)字典
info_dict = dict()
info_dict['name'] = 'LEI_XUE_WEI'  # 或者改為 'levin'
info_dict['blogs'] = '93'  # 目前發(fā)表了93個(gè)博客文字。
info_dict['gongzhong_hao'] = '【雷學(xué)委】'  # 歡迎過來關(guān)注支持
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)
## 雷學(xué)委提示:下面一行代碼修改了‘meta-data'這個(gè)key對(duì)應(yīng)的值,我們并沒有直接修改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

效果如下:

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python數(shù)據(jù)可視化自制職位分析生成崗位分析數(shù)據(jù)報(bào)表

    python數(shù)據(jù)可視化自制職位分析生成崗位分析數(shù)據(jù)報(bào)表

    之前網(wǎng)上也有不少關(guān)于行業(yè)的分析數(shù)據(jù),今天我們就根據(jù)不同崗位,公司類型規(guī)模,學(xué)歷要求,薪資分布等來進(jìn)行分析,把職位分析功能集合封裝起來,做成一個(gè)小工具分享給大家吧
    2021-09-09
  • Django路由層如何獲取正確的url

    Django路由層如何獲取正確的url

    本文介紹路由層是如何進(jìn)行路由匹配的,以diango1.x版本為例,文中通過示例代碼介紹的非常詳細(xì),文中通過示例代碼介紹的非常詳細(xì),
    2021-07-07
  • 請(qǐng)不要重復(fù)犯我在學(xué)習(xí)Python和Linux系統(tǒng)上的錯(cuò)誤

    請(qǐng)不要重復(fù)犯我在學(xué)習(xí)Python和Linux系統(tǒng)上的錯(cuò)誤

    本人已經(jīng)在運(yùn)維行業(yè)工作了將近十年,我最早接觸Linux是在大二的樣子,那時(shí)候只追求易懂,所以就選擇了Ubuntu作為學(xué)習(xí)、使用的對(duì)象,它簡(jiǎn)單、易用、好操作、界面絢麗,對(duì)于想接觸Linux的新手來說是非常不錯(cuò)的
    2016-12-12
  • python嵌套異常的兩種處理器

    python嵌套異常的兩種處理器

    在Python中,異常也可以嵌套,本文主要介紹了python嵌套異常的兩種處理器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • 使用Python webdriver圖書館搶座自動(dòng)預(yù)約的正確方法

    使用Python webdriver圖書館搶座自動(dòng)預(yù)約的正確方法

    這篇文章主要介紹了使用Python webdriver圖書館搶座自動(dòng)預(yù)約的正確方法,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python基于pyjnius庫實(shí)現(xiàn)訪問java類

    Python基于pyjnius庫實(shí)現(xiàn)訪問java類

    這篇文章主要介紹了Python基于pyjnius庫實(shí)現(xiàn)訪問java類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 在python中如何建立一個(gè)自己的包

    在python中如何建立一個(gè)自己的包

    這篇文章主要介紹了在python中如何建立一個(gè)自己的包,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python中pygame針對(duì)游戲窗口的顯示方法實(shí)例分析(附源碼)

    python中pygame針對(duì)游戲窗口的顯示方法實(shí)例分析(附源碼)

    這篇文章主要介紹了python中pygame針對(duì)游戲窗口的顯示方法,以完整實(shí)例形式較為詳細(xì)的分析了pygame響應(yīng)鍵盤按鍵改變窗口顯示效果的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-11-11
  • 提高?Python?開發(fā)效率的3個(gè)小工具

    提高?Python?開發(fā)效率的3個(gè)小工具

    這篇文章主要給大家分享得事提高?Python?開發(fā)效率的3個(gè)小工具,它們能夠幫助我們提高工作效率。本文將介紹筆者在近一周發(fā)現(xiàn)的三個(gè)小工具,寫文章以做記錄,希望能對(duì)大家有所幫助
    2022-01-01
  • python爬取51job中hr的郵箱

    python爬取51job中hr的郵箱

    這篇文章主要為大家詳細(xì)介紹了python爬取51job中hr的郵箱的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評(píng)論

洞口县| 安国市| 广汉市| 兴文县| 乌苏市| 新邵县| 大足县| 芦山县| 凭祥市| 蒲城县| 银川市| 宜兰县| 延安市| 鄯善县| 璧山县| 西林县| 桦南县| 天祝| 东海县| 遵化市| 溧水县| 海淀区| 迭部县| 积石山| 武宣县| 石城县| 磴口县| 紫阳县| 临朐县| 晋中市| 南江县| 延吉市| 阳原县| 达拉特旗| 丰原市| 长寿区| 绥芬河市| 克拉玛依市| 福贡县| 合川市| 霍林郭勒市|