V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

Python 字典如何选择几个给定的 key,生成新的字典?

  •  
  •   coolair · 2019-08-03 14:30:03 +08:00 · 1663 次点击
    这是一个创建于 1939 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如:
    data= {'a': 1, 'b': 2, 'c': 3, 'd': 4}
    select(data, ['a', 'b']) == {'a': 1, 'b': 2}
    4 条回复    2019-08-04 00:47:06 +08:00
    ZeldaPeach
        1
    ZeldaPeach  
       2019-08-03 14:44:37 +08:00
    {k: data[k] for k in ('a','b')}
    Trim21
        2
    Trim21  
       2019-08-03 14:44:41 +08:00 via Android
    用字典生成式
    Sylv
        3
    Sylv  
       2019-08-03 14:45:31 +08:00
    new_keys = ['a', 'b']
    new_data = {key: data[key] for key in new_keys}
    shanguo
        4
    shanguo  
       2019-08-04 00:47:06 +08:00
    >>> def select(src_dict, keys):
    ... return {k: src_dict[k] for k in keys if src_dict.get(k)}
    ...
    >>> d = dict(name='jok', age=20)
    >>> select(d, ['name'])
    {'name': 'jok'}
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:39 · PVG 11:39 · LAX 19:39 · JFK 22:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.