對于輸入嵌套串列
[[[1, 2], [3, 4]], [[5,6]], [[7,8], [9,10], [10,10]]]
我想建立一個理解,將組裝一個嵌套的字典D使得:
D[0] [1] = 2, D[0][3] = 4
D[1] [5] = 6
D[2] [7] = 8, D[2][9] = 10, D[2][10] = 10
我的字典理解如下:
dict = {k1:{v[0]:v[1]} for k1, sub in enumerate(tg1) for v in sub}
但有一個問題,它不包含每一對。
我該怎么做呢?
uj5u.com熱心網友回復:
如果你想使用字典理解,你必須嵌套它。在您的方法中,只有一個鍵值對進入您的內部字典,其中您實際上希望該部分成為理解本身。像這樣的事情會起作用:
d = {i:{k:v for k,v in sublist} for i, sublist in enumerate(l)}
假設l是您的清單。
uj5u.com熱心網友回復:
如果您只有這些級別的嵌套,則可以通過理解來完成。另一方面,如果您有更多級別,則可能需要一個(遞回)函式:
D = { i:dict(L) for i,L in enumerate(yourList)}
{0: {1: 2, 3: 4},
1: {5: 6},
2: {7: 8, 9: 10, 10: 10}}
D[0][3] # 4
D[1][5] # 6
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338005.html
標籤:Python
