coolair
V2EX  ›  问与答

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

  •  
  •   coolair · Aug 3, 2019 · 2333 views
    This topic created in 2488 days ago, the information mentioned may be changed or developed.
    比如:
    data= {'a': 1, 'b': 2, 'c': 3, 'd': 4}
    select(data, ['a', 'b']) == {'a': 1, 'b': 2}
    4 replies    2019-08-04 00:47:06 +08:00
    ZeldaPeach
        1
    ZeldaPeach  
       Aug 3, 2019
    {k: data[k] for k in ('a','b')}
    Trim21
        2
    Trim21  
       Aug 3, 2019 via Android
    用字典生成式
    Sylv
        3
    Sylv  
       Aug 3, 2019
    new_keys = ['a', 'b']
    new_data = {key: data[key] for key in new_keys}
    shanguo
        4
    shanguo  
       Aug 4, 2019
    >>> 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'}
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
    ♥ Do have faith in what you're doing.