关于python:从字典中获取某些值

Fetch certain values from dictionary

本问题已经有最佳答案,请猛点这里访问。

我有下面的字典。我需要从这个字典中删除OS::(在本例中是前3个键,值对)。我只对键、值对的其余部分感兴趣。我怎样才能做到这一点?如果我能让逻辑尽可能简短,那会有所帮助。

1
2
3
4
5
6
7
8
9
10
{u'OS::project_id': u'xyz',
u'OS::stack_id': u'xyz',
u'OS::stack_name': u'XYZ',
u'image': u'RHEL-7.2',
u'private_network_id': u'xyz',
u'floating_ip': u'xyz',
u'volume_type': u'ceph_fake',
u'volume_size': u'10',
u'key': u'my_key',
u'flavor': u'm1.small'}


使用dict comprehension

1
2
3
4
5
6
7
8
9
{key: value for key, value in d.iteritems()  if not key.startswith('OS::')}

{u'flavor': u'm1.small',
 u'floating_ip': u'xyz',
 u'image': u'RHEL-7.2',
 u'key': u'my_key',
 u'private_network_id': u'xyz',
 u'volume_size': u'10',
 u'volume_type': u'ceph_fake'}