簡體   English   中英

從字典中檢索列表

[英]Retrieving a list from a dictionary

我有清單mydicts = [] ,其中包含

[{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
    'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
    'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
    'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }]

但是,我試圖以這種格式獲取它,以便執行一些操作:

d = {'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }

我嘗試這樣做

sm_list = list(mydicts)
d = sm_list

但這沒有用。 我該如何解決?

您可以使用列表索引來訪問它

my_dicts = [{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
    'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
    'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
    'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }]

d = my_dicts[0]

筆記:

  • 為正確的名稱[...]列表 ,而不是數組。

  • 通過訪問my_dicts[0] ,您正在訪問第一個元素。 使用my_dicts[1]您將訪問第二個元素。 等等。

  • 當您執行list(mydicts) ,它無效,因為my_dicts已經是一個列表。

您只需執行以下操作即可解決此問題:

d = mydicts[0]

這將從mydicts返回第一個值,該值恰好是您想要的。

可以通過檢索數組中的第一個(也是唯一的)元素來獲得所需的內容(這已經是Python所謂的list ,因為這正是您要查找的內容。 列表/數組中的第一個元素是索引為0的元素。

mydicts = [{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
            'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
            'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
            'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0},}]

d = mydicts[0]

print "d's contents: {"
for k, v in d.iteritems():
    print '    {}: {},'.format(k, v)
print '}'

輸出:

d's contents: {
    Frank: {'Sam': 0, 'Jack': 0, 'Kevin': 0},
    Sam: {'Frank': 0, 'Jack': 0, 'Kevin': 0},
    Kevin: {'Frank': 0, 'Jack': 0, 'Sam': 0},
    Jack: {'Frank': 0, 'Sam': 0, 'Kevin': 0},
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM