第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何正確地向字典中添加額外的層(或更好的選擇)

如何正確地向字典中添加額外的層(或更好的選擇)

天涯盡頭無女友 2022-01-18 17:16:53
在我的程序中,我要求用戶做出選擇。這些選擇然后從字典中的鍵/嵌套鍵/值位置提取數(shù)據(jù),然后進(jìn)行計(jì)算。我目前在我的一個(gè)文件中創(chuàng)建了很多字典,但理想情況下希望將其縮小為一個(gè)(或至少更少)字典,因?yàn)槲蚁嘈胚@將允許編寫其余代碼更順利地繼續(xù)前進(jìn)。我想知道如何正確地將圖層添加到字典中,或者.. 有沒有比字典更好的選擇?我目前有很多這樣的:nameofdict = { 'KEY': 'NESTED KEY': 'VALUE', 'NESTED KEY': 'VALUE'},               'KEY': 'NESTED KEY': 'VALUE', 'NESTED KEY': 'VALUE'}}但想要更多類似的東西:nameofdict = { 'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE', 'DOUBLE                 NESTED KEY': 'VALUE'}},               'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE', 'DOUBLE                 NESTED KEY': 'VALUE'}}}如果某個(gè)“項(xiàng)目”沒有該參數(shù),則最終能夠跳過某些級別,例如:nameofdict = { 'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE', 'DOUBLE                 NESTED KEY': 'VALUE'}},               'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE', 'DOUBLE                 NESTED KEY': 'VALUE'}},                                            {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE', 'DOUBLE                 NESTED KEY': 'VALUE'}}}我已經(jīng)在數(shù)據(jù)輸入上投入了時(shí)間,并制作了一個(gè)程序來使嵌套字典的創(chuàng)建更容易、更快,所以我正在嘗試使用我已經(jīng)花時(shí)間在的東西。我剛剛開始熟悉 Python 的所有功能當(dāng)我學(xué)習(xí)這門語言時(shí),提供并慢慢地使我的代碼更簡單、更統(tǒng)一。
查看完整描述

2 回答

?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

你只需要先聲明結(jié)構(gòu),然后你就可以使用它


my_list = list()

my_dict = dict()

my_list.append(my_dict)

my_list[0]['KEY'] = dict()

my_list[0]['KEY']['NESTED KEY'] = dict()

my_list[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'


print(my_list)

輸出:


[{'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE'}}}]

之后,如果您需要向數(shù)組添加更多對象,您可以這樣做。


my_list = list()

my_dict1 = dict()

my_dict2 = dict()

my_list.append(my_dict1)

my_list.append(my_dict2)

my_list[0]['KEY'] = dict()

my_list[0]['KEY']['NESTED KEY'] = dict()

my_list[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE1'

my_list[1]['KEY'] = dict()

my_list[1]['KEY']['NESTED KEY'] = dict()

my_list[1]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE2'


print(my_list)

輸出


[

  {'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE1'}}},

  {'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE2'}}}

]


查看完整回答
反對 回復(fù) 2022-01-18
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

您也可以創(chuàng)造性地使用defaultdict. 這很短,將根據(jù)需要?jiǎng)?chuàng)建字典。


from collections import defaultdict


nested_dict = lambda: defaultdict(nested_dict)

nest = nested_dict()

nest[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'

nest[1]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'

然后,如果您通過以下方式打印它:


import json

print(json.dumps(nest, indent=4))

輸出:


{

    "0": {

        "KEY": {

            "NESTED KEY": {

                "DOUBLE NESTED KEY": "VALUE"

            }

        }

    },

    "1": {

        "KEY": {

            "NESTED KEY": {

                "DOUBLE NESTED KEY": "VALUE"

            }

        }

    }

}

免責(zé)聲明:defaultdict如果找不到,A將創(chuàng)建一個(gè)條目。在某些情況下,這可能對您不利。例如,如果我這樣做:


bad_nest = nested_dict()

print(bad_nest[2]) # This will output {}, but will also add {2: {}} to the dict


查看完整回答
反對 回復(fù) 2022-01-18
  • 2 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號