Python:遍历字典并创建包含结果的列表

时间:2014-09-07 09:08:52

标签: python dictionary iteration

我想以Python的形式迭代Python中的字典:

dictionary = {
    'company': {
         0: 'apple',
         1: 'berry',
         2: 'pear'
     },
     'country': {
         0:'GB',
         1:'US',
         2:'US'
     }
}

抓住例如: 如果[company, country]country

,则每"US"

所以我在表格中得到了一个清单:

[["berry", "US"], ["pear", "US"]]

2 个答案:

答案 0 :(得分:0)

我认为你的键也是字符串,输出是列表列表,其中元素也是字符串。那么这个问题可以通过列表理解来解决。

我们的想法是使用列表理解来填充[company, country] - 列表,但前提是该国家/地区为'US'key代表内部词典的键(即0,1,2)。

dictionary = {'company': {0: 'apple', 1: 'berry', 2: 'pear'}, 'country': {0: 'GB', 1: 'US', 2:'US'}}
y = [[dictionary['company'][key], dictionary['country'][key]] for key in dictionary['country'] if dictionary['country'][key] == 'US']

返回

[['berry', 'US'], ['pear', 'US']]

答案 1 :(得分:0)

myList = []
list(map(lambda x: myList.append(x) if x[1]=='US' else None,
    zip(dictionary['company'].values(), dictionary['country'].values())))