[英]Join Python dictionaries with a matching key:value pair
假設我有一個字典字典,像這樣:
{
customers:[{customername:"Bob", age:32}],
addresses:[{customername:"Bob", address:"123 Seseme street",addressname:"home"},
{customername:"Bob", address:"543 42nd street", addressname:"Work"}],
phonenumbers:[{customername:"Bob", phone:1234567, phonename:"Cell"}]
]
我想從所有其他具有key:value對'customername:“ Bob”'的字典中創建一個新字典:
Bob = {customername:"Bob", address:[{addressname:"home",address:"123 Seseme street"},
{addressname:"Work", address:"543 42nd street"}],
phone:{phonename:"Cell", phone:1234567}
第一個問題:如何以最優雅的方式創建此新詞典?
第二個問題:是否有一種方法可以將包含任意數量詞典的頂級詞典加入這些詞典,而並非所有詞典都包含該特定鍵?
Brionius是對的,這比起初看要容易:
l = [[x for x in db[x] if x['name']=='bob'] for x in db]
bob = [item for sublist in l for item in sublist
如果我決定保留頂級詞典,則可以這樣做:
{key:value for (key,value) in db.iteritems() for item in value if item['name']=='bob'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.