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

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

使用自行生成的鍵將嵌套列表轉換為字典

使用自行生成的鍵將嵌套列表轉換為字典

滄海一幻覺 2023-09-26 16:46:49
我的列表列表如下所示:my_list = [[sub_list_1],[sub_list_2],...,[sub_list_n]]所需輸出my_dict[1] = [sub_list_1] my_dict[2] = [sub_list_2] my_dict[n] = [sub_list_n]我希望字典的鍵能夠自己生成。如何以Pythonic方式實現這一點?我會看某些問題,比如轉換字典python中的列表列表Python:列表列表到字典將嵌套列表轉換為字典但它們要么提供鍵列表,要么專注于使用列表中的某些信息作為鍵?;蛘?,我嘗試以這種方式制作鍵列表:my_keys = list(range(len(my_list))) my_dict = dict(zip(my_keys,my_list)它有效, 但是,這不起作用:my_dict = dict(zip(list(range(len(my_list))),my_list))這給了我一個語法錯誤。總結來說:有沒有一種方法可以在不顯式提供鍵的情況下生成列表字典?為什么組合代碼會引發語法錯誤,而兩步代碼卻有效?
查看完整描述

4 回答

?
翻過高山走不出你

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

我建議使用字典理解來實現您想要的效果,此外,我嘗試了您的實現,沒有遇到任何問題(非常歡迎更多詳細信息):

my_list = [["sub_list_1"],["sub_list_2"],["sub_list_3"]]
my_dict = dict(zip(list(range(len(my_list))),my_list))
alternative_dict = {iter:item for iter,item in enumerate(my_list)}
print("yours : " + str(my_dict))
print("mine : " + str(alternative_dict))

輸出:

yours : {0: ['sub_list_1'], 1: ['sub_list_2'], 2: ['sub_list_3']}
mine : {0: ['sub_list_1'], 1: ['sub_list_2'], 2: ['sub_list_3']}


查看完整回答
反對 回復 2023-09-26
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

您的語法錯誤是由您的變量名稱引起的try。try已經是Python中的一個名字了。

查看完整回答
反對 回復 2023-09-26
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

運行您的代碼時我沒有收到錯誤消息:


>>> my_list = [["hello1"], ["hello2"]]

>>> my_dict = dict(zip(list(range(len(my_list))), my_list))

>>> my_dict

{1: ['hello1'], 2: ['hello2']}

您可以使用字典理解從列表列表創建列表字典:


my_dict = {i: sub_list for i, sub_list in enumerate(my_list)}


查看完整回答
反對 回復 2023-09-26
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

這應該可以做到

my_dict = {my_list.index(i) + 1: i for i in my_list}

請注意,我添加了+1從鍵 1 而不是 0 開始,以滿足您的期望


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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