过滤很容易让人想到用filter()
函数,如下:
>>> dict1 = {
1: '1',
2: '2',
3: '3',
4: {'4': 5}
}
>>> filter(lambda x: x >= 3, dict1)
[3, 4]
这种方式产生的结果当然不是我们所要的。
为了实现我们的目标,我们可以采用如下两种方法:
# Method 1
>>> dict(filter(lambda x: x[0] >= 3, dict1.iteritems()))
{3: '3', 4: {'4': 5}}
# Method 2
>>> dict2 = {key: dict1[key] for key in dict1 if key >=2 }
>>> print dict2
{2: '2', 3: '3', 4: {'4': 5}}