国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python語言之字典dict簡析

冬至配餃子 ? 來源:繆斯之子 ? 作者:肖新苗 ? 2022-08-23 10:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.基本的增刪改查

def test_1():
# 增刪改查
dict1 = {'a': 1, 'b': 2}
dict1['c'] = 3
assert {'a': 1, 'b': 2, 'c': 3} == dict1, 'dict 新增失敗'

del dict1['b']
assert {'a': 1, 'c': 3} == dict1, 'dict 刪除失敗'
dict1['c'] = 4
assert {'a': 1, 'c': 4} == dict1, 'dict 修改失敗'

c = dict1['c']
assert 4 == c, 'dict 查詢失敗'
pass

2. in和enumerate方法

def test_2():
# in, enumerate
dict1 = {'a': 1, 'b': 2}
indexs = [i for i, v in enumerate(dict1.items()) if v[0] == 'b']
assert [1] == indexs, 'dict enumerate error'

assert 'a' in dict1, 'dict in error'
pass

3.方法: setdefault,update,get,pop,popitem

def test_3():
# setdefault,update,get,pop,popitem
# setdefault 如果沒有則增加,有則不變
dict1 = {'a': 1, 'b': 2}
dict1.setdefault('c', 4)
assert {'a': 1, 'b': 2, 'c': 4}, 'dict setdefault error'

dict1.setdefault('b', 1)
assert {'a': 1, 'b': 2, 'c': 4} == dict1, 'dict setdefault b error'

dict1.update({'c': 5})
assert {'a': 1, 'b': 2, 'c': 5} == dict1, 'dict update error'

c = dict1.get('c', 1)
assert 5 == c, 'dict get error'

f = dict1.get('f', 1)
assert 1 == f, 'dict get f error'

dict1.pop('c')
assert {'a': 1, 'b': 2} == dict1, 'dict pop error'

dict1.popitem()
assert {'a': 1} == dict1, 'dict popitem error'

pass

4. sort

def test_4():
# sort
dict1 = {'b': 2, 'a': 1}
dict2 = dict(sorted(dict1.items(), key=lambda kv: kv[0]))
assert {'a': 1, 'b': 2} == dict2, 'dict sorted 1 error'

dict1 = {'b': 2, 'a': 1, 'c': 1}
dict2 = dict(sorted(dict1.items(), key=lambda kv: (kv[1], kv[0])))
assert {'a': 1, 'c': 1, 'b': 2}

pass

5.淺復制和深復制

import copy

def test_5():
# 淺復制 和 深度復制
# 1.淺復制:不改變原字典
dict1 = {'a': 1, 'b': 2}
dict2 = dict1.copy()
dict2.update({'b': 1})
assert {'a': 1, 'b': 2} == dict1, 'dict copy 1 error'
assert {'a': 1, 'b': 1} == dict2, 'dict copy 1.1 error'

# 2.淺復制:改變原字典--子對象
dict1 = {'a': 1, 'b': {'c': 1}}
dict2 = dict1.copy()
dict2['b'].setdefault('d', 2)
assert {'a': 1, 'b': {'c': 1, 'd': 2}} == dict1, 'dict copy 2 error'
assert {'a': 1, 'b': {'c': 1, 'd': 2}} == dict2, 'dict copy 2.1 error'

# 3.深復制:不改變原字典
dict1 = {'a': 1, 'b': {'c': 1}}
dict2 = copy.deepcopy(dict1)
dict2['b'].setdefault('d', 2)
assert {'a': 1, 'b': {'c': 1}} == dict1, 'dict copy 3 error'
assert {'a': 1, 'b': {'c': 1, 'd': 2}} == dict2, 'dict copy 3.1 error'

pass

6.dict的各種初始化

def test_6():
# 方法:dict(p)

dict1 = {}
assert {} == dict1, 'dict new 1 error'

dict1 = dict()
assert {} == dict1, 'dict new 2 error'

dict1 = dict({'a': 1})
assert {'a': 1} == dict1, 'dict new 3 error'

dict1 = dict([('a', 1), ('b', 2)])
assert {'a': 1, 'b': 2} == dict1, 'dict new 4 error'

dict1 = dict(a=1, b=2)
assert {'a': 1, 'b': 2} == dict1, 'dict new 5 error'

params = {'a': 1, 'b': 2}
dict1 = dict(**params)
assert {'a': 1, 'b': 2} == dict1, 'dict new 6 error'
pass



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    軟通動力榮膺河南移動2025年DICT金牌合作伙伴

    近日,以“金彩同行 智賦未來”為主題的河南移動2025年DICT金牌合作伙伴交流暨AI+領域合作能力展示大會在鄭州舉行。作為河南移動核心合作伙伴,軟通動力受邀出席,并憑借在DICT領域的深厚積淀
    的頭像 發表于 12-25 10:50 ?391次閱讀
    軟通動力榮膺河南移動2025年<b class='flag-5'>DICT</b>金牌合作伙伴

    一文了解Mojo編程語言

    資源受限環境,如物聯網設備或實時控制系統。 總的來說,Mojo 的獨特之處在于它填補了 Python 與底層語言之間的性能鴻溝,同時保持了開發者熟悉的語法和生態。隨著其工具鏈的完善,Mojo 有望成為 AI 和高性能計算領域的重要工具。
    發表于 11-07 05:59

    示例3x3矩陣求和

    軟件通過自定義匯編語言利用riscv指令與nice接口交互。 Risc-v指令的功能在Verilog文件中得到定義。在C語言中,使用自定義匯編語言操控使用這些指令。 所定義的指令一共有三個
    發表于 10-30 06:25

    中宇聯成功入圍中國電信廣東公司DICT項目合作伙伴

    廣東公司DICT生態合作陣營,將攜手助力政企信息化領域的數字化轉型與創新發展。此次中國電信廣東公司DICT合作伙伴招募,以“落實電信集團DICT建設戰略、擴大DI
    的頭像 發表于 09-19 09:43 ?1450次閱讀
    中宇聯成功入圍中國電信廣東公司<b class='flag-5'>DICT</b>項目合作伙伴

    canopen如何通過對象字典控制外設?

    各位大佬好,我在移植canopen的時候碰到一個疑問。比如我修改對象字典2000,子索引為0這個目錄下的值,如何這個對象映射的是某個led燈的亮滅,輸入1為亮,0為滅。 問題就是我發送報文之后會進入
    發表于 09-11 06:04

    termux調試python猜數字游戲

    用termux做一個猜數字游戲 下面是在Termux中創建猜數字游戲的步驟及完整實現方案,結合Python實現(最適配Termux環境): ? 一、環境準備(Termux基礎配置) 1.
    發表于 08-29 17:15

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開發環境的完整指南 一、Termux基礎環境準備 Termux是一款無需root即可在安卓設備上運行的Linux終端
    發表于 08-29 07:06

    python app不能運行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發表于 08-06 06:27

    C++ 與 Python:樹莓派上哪種語言更優?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富
    的頭像 發表于 07-24 15:32 ?947次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種<b class='flag-5'>語言</b>更優?

    Modbus和MQTT協議

    Modbus和MQTT協議在設計目標、通信模式、應用場景、網絡結構、數據傳輸效率、設備兼容性及安全性等方面存在顯著差異,具體分析如下: 一、設計目標與定位 Modbus :誕生于1979年,由施耐德公司開發,最初為串行通信(RS232/RS485)設計。其目標是解決工業設備(如PLC、傳感器、儀表)之間的短距離、點對點或小范圍組網通信,核心是設備間直接的數據讀寫控制。Modbus屬于工業現場總線協議,側重底層設備的高效數據交互。 MQTT :2013年由OASIS標準化,最初
    的頭像 發表于 07-10 14:25 ?773次閱讀

    Modbus與MQTT的區別

    Modbus和MQTT是工業領域中兩種不同的通信協議,在設計目標、應用場景、通信模式等方面存在顯著差異,以下從多個維度兩者的區別: 1.設計目標與起源 Modbus 誕生于1979年,由施耐德
    的頭像 發表于 07-10 14:10 ?988次閱讀

    跟老齊學Python:從入門到精通

    礎的學習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關,但與學習者未來程序員職業生涯有關的內容。 獲取完整文檔資料可下載附件哦!!!! 如果內容有幫助可以關注、點贊、評論支持一下哦~
    發表于 06-03 16:10

    python入門圣經-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容; 第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D 游戲開發如何利用數據
    發表于 04-10 16:53

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本
    的頭像 發表于 03-25 09:27 ?2032次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系統中的應用場景

    你想把你的職業生涯提升到一個新的水平?Python在嵌入式系統中正在成為一股不可缺少的新力量。盡管傳統上嵌入式開發更多地依賴于C和C++語言Python的優勢在于其簡潔的語法、豐富的庫和快速的開發周期,這使得它在某些嵌入式場景
    的頭像 發表于 03-19 14:10 ?1492次閱讀