女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Box 模塊的使用方法

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 10:40 ? 次閱讀

正常情況下,我們想訪問字典中的某個(gè)值,都是通過(guò)中括號(hào)訪問,比如:

test_dict = {"test": {"imdb stars": 6.7, "length": 104}}

print(test_dict["test"]["imdb stars"])
# 104

而通過(guò)Box模塊,我們可以擴(kuò)展字典功能,使用點(diǎn)符號(hào)訪問元素:

from box import Box

movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 } })

movie_box.Robin_Hood_Men_in_Tights.imdb_stars
# 6.7

另外,可以看到默認(rèn)情況下轉(zhuǎn)換后,字典鍵值中的空格被轉(zhuǎn)化為了下劃線。

下面具體介紹 Box 模塊的使用方法。

1.準(zhǔn)備

開始之前,你要確保Pythonpip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請(qǐng)選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install --upgrade python-box[all]

2.基本使用

我們可以像文章開頭那樣傳入一個(gè)字典給 Box,生成一個(gè)Box對(duì)象;也可以直接使用參數(shù)賦值的方式生成一個(gè)Box對(duì)象:

from box import Box

my_box = Box(funny_movie='Hudson Hawk', best_movie='Kung Fu Panda')
my_box.funny_movie
# 'Hudson Hawk'

請(qǐng)記住,任何情況下,你往Box對(duì)象里添加字典或是數(shù)組,這些字典或數(shù)組都會(huì)被轉(zhuǎn)變?yōu)锽ox對(duì)象:

my_box = Box({"team": {"red": {"leader": "Sarge", "members": []}}})
print(my_box.team.red.leader)
# Sarge

my_box.team.blue = {"leader": "Church", "members": []}
print(repr(my_box.team.blue))
#

訪問列表中的 Box 對(duì)象也非常輕松:

my_box.team.red.members = [
    {"name": "Grif", "rank": "Minor Junior Private Negative First Class"},
    {"name": "Dick Simmons", "rank": "Captain"}
]

print(my_box.team.red.members[0].name)
# Grif

局限性

請(qǐng)注意,字典中有些默認(rèn)方法,如: **clear, copy, fromkeys, get, items, keys, pop, popitem, setdefault, to_dict, update, merge_update, values ** ,當(dāng)你的鍵值和這些方法名稱沖突時(shí),你無(wú)法使用點(diǎn)符號(hào)訪問它們。

不過(guò)沖突時(shí),你依然可以使用傳統(tǒng)的字典取值訪問它們,例如:

my_box['keys']

合并

要合并兩個(gè)Box對(duì)象,你只需要通過(guò) merge_update 方法:

from box import Box

box_1 = Box(val={'important_key': 1})
box_2 = Box(val={'less_important_key': 2})

box_1.merge_update(box_2)

print(box_1)
# {'val': {'important_key': 1, 'less_important_key': 2}}

當(dāng)然,你也可以用傳統(tǒng)的 update 方法:

from box import Box

box_1 = Box(val={'important_key': 1})
box_2 = Box(val={'less_important_key': 2})

box_1.update(box_2)

print(box_1)
# {'val': {'less_important_key': 2}}

轉(zhuǎn)換為原始列表/字典

如果你需要把一個(gè) Box 對(duì)象的字典轉(zhuǎn)化為原始字典,.to_dict() 方法就可以幫你實(shí)現(xiàn):

from box import Box

box_1 = Box(val={'important_key': 1})

print(box_1)
# {'val': {'less_important_key': 2}}
print(type(box_1))
# < class 'box.box.Box' >
print(type(box_1.to_dict()))
# < class 'dict' >

如果你需要把一個(gè) Box 對(duì)象的列表轉(zhuǎn)化為原始列表,你可以使用 .to_list() 方法:

from box import BoxList

my_boxlist = BoxList({'item': x} for x in range(10))
# 

my_boxlist[5].item
# 5

print(type(my_boxlist.to_list()))
# < class 'list' >

3.導(dǎo)入導(dǎo)出功能

Box對(duì)象有一個(gè)很方便的功能,就是能夠輕松地將Box對(duì)象導(dǎo)出為 **Json / yaml / csv / msgpack **文件:

from box import BoxList

my_boxlist = BoxList({'item': x} for x in range(10))
# 

my_boxlist.to_json(filename="test.json")
# 在當(dāng)前文件夾下生成一個(gè) test.json 文件

此外,還能接受** Json / yaml / csv / msgpack **文件導(dǎo)入:

new_box = Box.from_json(filename="films.json")

各種類型的文件對(duì)應(yīng)的方法如下:

轉(zhuǎn)換器方法描述
to_dict遞歸地將所有 Box(和 BoxList)對(duì)象轉(zhuǎn)換回字典(和列表)
to_json將 Box 對(duì)象另存為 JSON 字符串或使用filename參數(shù)寫入文件
to_yaml將 Box 對(duì)象另存為 YAML 字符串或使用filename參數(shù)寫入文件
to_msgpack將 Box 對(duì)象另存為 msgpack 字節(jié)或使用filename參數(shù)寫入文件
to_toml*將 Box 對(duì)象另存為 TOML 字符串或使用filename參數(shù)寫入文件
to_csv**將 BoxList 對(duì)象另存為 CSV 字符串或使用filename參數(shù)寫入文件
from_jsonClassmethod,從一個(gè) JSON 文件或字符串創(chuàng)建一個(gè) Box 對(duì)象(所有 Box 參數(shù)都可以傳遞)
from_yaml類方法,從 YAML 文件或字符串創(chuàng)建一個(gè) Box 對(duì)象(所有 Box 參數(shù)都可以傳遞)
from_msgpackClassmethod,從msgpack文件或字節(jié)創(chuàng)建一個(gè)Box對(duì)象(所有Box參數(shù)都可以傳遞)
from_toml*Classmethod,從TOML文件或字符串創(chuàng)建一個(gè)Box對(duì)象(所有Box參數(shù)都可以傳遞)
from_csv**Classmethod,從一個(gè)CSV文件或字符串創(chuàng)建一個(gè)BoxList對(duì)象(可以傳遞所有BoxList參數(shù))
  • 不適用于 BoxList,僅適用于 Box ** 不適用于 Box,僅適用于 BoxList。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2783

    瀏覽量

    49633
  • BOX
    BOX
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    13349
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    817

    瀏覽量

    31783
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1470

    瀏覽量

    34805
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    紅外尋跡模塊使用方法

    `紅外尋跡模塊使用方法A) 檢測(cè)到白色時(shí)指示燈亮,輸出低電平 B)檢測(cè)到黑色時(shí)指示燈滅,輸出高電平`
    發(fā)表于 06-05 12:04

    天線的選擇與使用方法

    無(wú)線模塊的通信距離是一項(xiàng)重要指標(biāo),如何把有效通信距離最大化一直是大家疑惑的問題。本文根據(jù)調(diào)試經(jīng)驗(yàn)及對(duì)天線的選擇與使用方法做了一些說(shuō)明,希望對(duì)工程師快速調(diào)試通信距離有所幫助。無(wú)線模塊的通信距離是一項(xiàng)
    發(fā)表于 01-04 06:11

    S3C44BOX與LMO57QCIT01的接口方法及其應(yīng)用

    本文著重介紹了ARM7處理器S3C44BOX內(nèi)置LCD控制器的使用方法,簡(jiǎn)要介紹夏普LM057QC1TO1液晶顯示模塊以及它和S3C44BOX的接口
    發(fā)表于 11-23 15:41 ?28次下載

    IGBT驅(qū)動(dòng)模塊EXB841使用方法的改進(jìn)

    IGBT驅(qū)動(dòng)模塊EXB841使用方法的改進(jìn) 摘要: 本文對(duì)目前在電力電子技術(shù)中廣泛使用的IGBT驅(qū)動(dòng)模塊EXB841的使用方法進(jìn)行了改進(jìn),克服了EXB841本身的缺陷,提高了保護(hù)
    發(fā)表于 05-08 15:11 ?84次下載

    示波器的使用方法

    數(shù)字萬(wàn)用表使用方法和示波器的使用方法詳解。
    發(fā)表于 03-14 10:38 ?32次下載

    RTL8710模塊常用使用方法

    Realtek 物聯(lián)網(wǎng)(iot)領(lǐng)域SOC芯片rtl8710的使用方法
    發(fā)表于 05-25 10:01 ?0次下載

    AURORA的功能模塊使用方法介紹

    本文將覆蓋極光遠(yuǎn)程安全評(píng)估系統(tǒng)(以下簡(jiǎn)稱極光或AURORA)的所有功能點(diǎn),并詳細(xì)介紹極光的主要功能模塊使用方法
    發(fā)表于 09-22 16:36 ?12次下載
    AURORA的功能<b class='flag-5'>模塊</b>和<b class='flag-5'>使用方法</b>介紹

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點(diǎn)在于正確使用示波器的使用方法。往期文章中,小編對(duì)模擬示波器的使用方法和數(shù)字示波器的使用方法均有所介紹。為增進(jìn)大家對(duì)示波器的
    的頭像 發(fā)表于 12-24 20:37 ?3727次閱讀

    三相電采集模塊使用方法描述

    三相電采集模塊使用方法描述
    的頭像 發(fā)表于 12-28 15:04 ?2397次閱讀

    STM32G0開發(fā)筆記:SD卡模塊使用方法

    使用Platformio平臺(tái)的libopencm3開發(fā)框架來(lái)開發(fā)STM32G0,下面介紹SD卡模塊使用方法
    的頭像 發(fā)表于 01-19 16:27 ?2801次閱讀
    STM32G0開發(fā)筆記:SD卡<b class='flag-5'>模塊</b>的<b class='flag-5'>使用方法</b>

    Channel模塊使用方法示例

    教程中,我們將介紹 Rust 語(yǔ)言中的 Tokio 模塊 channel,并提供幾個(gè)示例,以幫助您更好地理解它的使用方法。 什么是 Tokio 模塊 Channel? Tokio 模塊
    的頭像 發(fā)表于 09-20 11:47 ?1387次閱讀

    Camelot模塊使用方法

    :JSON,Excel,HTML和Sqlite。 下面給大家介紹這個(gè)模塊使用方法: 1.準(zhǔn)備 開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章: 超詳細(xì)Python
    的頭像 發(fā)表于 11-01 10:02 ?1353次閱讀
    Camelot<b class='flag-5'>模塊</b>的<b class='flag-5'>使用方法</b>

    電源模塊使用方法

    電源模塊主要用于為電子設(shè)備和電路提供電源供電,以下是一般的電源模塊使用方法: 確定電源模塊的輸入和輸出電壓要求:電源模塊一般有輸入和輸出端子
    的頭像 發(fā)表于 03-05 09:06 ?2578次閱讀

    了解光模塊使用方法

    模塊使用方法: 防靜電措施:無(wú)論是在室內(nèi)還是室外,使用光模塊時(shí)必須采取防靜電措施,確保佩戴好防靜電手套或防靜電手環(huán),避免靜電對(duì)光模塊造成損害。 取放操作:拿取光
    的頭像 發(fā)表于 04-23 10:54 ?2092次閱讀

    快速了解電源模塊使用方法

    電源是整個(gè)電路可靠工作的核心部分。然而,由于電源電路的電流和發(fā)熱量較大,容易出現(xiàn)故障。今天我為大家介紹一下電源模塊使用方法
    的頭像 發(fā)表于 01-21 15:24 ?623次閱讀