簡體   English   中英

從字典列表中的字典鍵中獲取列表

[英]Get a list from the dictionary key in a list of dictionaries

我有一個字典清單。 例如:

list = [ {list1}, {list2}, .... ]

每個字典中的鍵/值對之一是另一個字典。 防爆

list1 = { "key1":"val11", "key2":"val12", "key3":{"inkey11":"inval11","inkey12":"inval12"} }
list2 = { "key1":"val21", "key2":"val22", "key3":{"inkey21":"inval21","inkey22":"inval22"} }

我正在考慮將所有字典中key3所有值都放入一個列表中。 是否可以直接訪問它們(類似於list[]["key3"] ),還是我們需要遍歷所有元素以形成列表?

我努力了

requiredlist =列表[] [“ key3”]。

但這是行不通的。 我想要的最終結果是

requiredlist = [ {"inkey11":"inval11","inkey12":"inval12"}, {"inkey21":"inval21","inkey22":"inval22"} ]

我認為列表理解在這里很有效:

[innerdict["key3"] for innerdict in list]

嘗試這個:

list1["key3"]

請注意,您定義的list1list2是字典,而不是列表-並且"key3"的值是set ,而不是列表。 您將{}[]混淆了,它們的含義不同。

要訪問元素是字典,您必須執行以下操作:

dict_name[key_name] #in this case: list1[key3]

嘗試這個:

newlist = []
list = [{ "key1":"val11", "key2":"val12", "key3":{dict1} },{ "key1":"val21", "key2":"val22", "key3":{dict1} }]
for innerdict in list:
    newlist += list(innerdict["key3"]) 
print newlist #This will give all the values of key3 in all the dictionaries

如果dict1中的dict1是一個集合,那么上面的示例將很好地工作,但是如果它是字典,那么它將給出一個列表,但是僅包含鍵,因此如果它是字典,請嘗試以下操作:

newlist = []
list = [{ "key1":"val11", "key2":"val12", "key3":{dict1} },{ "key1":"val21", "key2":"val22", "key3":{dict1} }]
for innerdict in list:
    newlist.append(innerdict["key3"]) 
print newlist #This will give all the values of key3 in all the dictionaries

暫無
暫無

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

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