亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在字典中嵌套列表

在字典中嵌套列表

開心每一天1111 2023-12-26 15:32:11
我想知道Dictionaries和Lists中嵌套的限制。下面的代碼工作正常。dict = {        'apples': {'typ1':'2.99','typ2':'2.49'},        'oranges': '1.99',        'berries':['blue', 'green', 'red']       }但是,如果我嘗試在列表中的鍵下創建一個字典,'berries'如下所示:dict={        'apples': {'typ1':'2.99','typ2':'2.49'},         'oranges':'1.99',         'berries': [ blue = {'typ1':'3.99','typ2'='3.49'}, 'green', 'red']     }這不起作用。有人可以解釋一下嗎?
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

首先,不要調用你的字典dict。這會掩蓋 Python 中的實際類dict,使您無法再引用該類。

現在,'berries': [ blue = {'typ1':'3.99','typ2'='3.49'}, 'green', 'red']是因為語法無效而使一切變得混亂的部分。

使用{...}has值定義的字典。

使用定義的列表[...] 不能有鍵。列表只有元素。

因此,您可以定義一個列表['blue', 'green', 'red'],并將該列表分配給鍵,'berries'如下所示:

mydict = { ...
         , 'berries': ['blue', 'green', 'red']
         }

您甚至可以混合列表中元素的類型,因此這也是有效的:[{'color': 'blue', 'typ1': 3.99, 'typ2': 3.49}, 'green', 'red']

或者您可以定義一個字典,{'blue': {...}, 'green': {...}, 'red': {...}}并將該字典分配給鍵,'berries'如下所示:

mydict = { ...
         , 'berries': {'blue': {...}, 'green': {...}, 'red': {...}}
         }

但是您無法像最初嘗試那樣在列表中分配鍵值對。此外,=無論如何,符號對于鍵值對來說都是錯誤的。


查看完整回答
反對 回復 2023-12-26
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

[blue={'typ1':'3.99','typ2'='3.49'},'green', ...]這毫無意義。您正在嘗試使用運算符在數組內分配某些內容=。它不是限制,只是語法錯誤。另外,將 更改=為 a:也不起作用,因為數組不保存鍵值對。所以看起來你正在混淆字典和數組。



查看完整回答
反對 回復 2023-12-26
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

首先,我看到您創建了錯誤的格式。您必須遵循 json 格式。

格式錯誤,

'berries': [blue = {'typ1': '3.99', 'typ2' = '3.49'}, 'green', 'red']


因此上述元素將修改如下:

'berries': [{'blue': {'typ1': '3.99', 'typ2': '3.49'}}, 'green', 'red']}


此外,berry 元素的類型是列表,因此您必須使用“append”函數來添加新元素。所以正確的做法是:

dict['berries'].append({'blue': {'typ1': '3.99', 'typ2': '3.49'}})


總結代碼:


dict = {'apples': {'typ1': '2.99', 'typ2': '2.49'}, 'oranges': '1.99', 'berries': ['green', 'red']}

dict['berries'].append({'blue': {'typ1': '3.99', 'typ2': '3.49'}})

print(dict)

預期結果是: {'apples': {'typ1': '2.99', 'typ2': '2.49'}, 'oranges': '1.99', 'berries': ['green', 'red', {'blue': {'typ1': '3.99', 'typ2': '3.49'}}]}


查看完整回答
反對 回復 2023-12-26
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號