How to construct a defaultdict from a dictionary?

后端 未结 3 525
挽巷
挽巷 2021-02-06 19:57

If I have d=dict(zip(range(1,10),range(50,61))) how can I build a collections.defaultdict out of the dict?

The only argument

相关标签:
3条回答
  • 2021-02-06 20:36

    Read the docs:

    The first argument provides the initial value for the default_factory attribute; it defaults to None. All remaining arguments are treated the same as if they were passed to the dict constructor, including keyword arguments.

    from collections import defaultdict
    d=defaultdict(int, zip(range(1,10),range(50,61)))
    

    Or given a dictionary d:

    from collections import defaultdict
    d=dict(zip(range(1,10),range(50,61)))
    my_default_dict = defaultdict(int,d)
    
    0 讨论(0)
  • 2021-02-06 20:50

    defaultdict is a method from collections which does not return key error when element is not present.

    0 讨论(0)
  • 2021-02-06 20:51

    You can construct a defaultdict from dict, by passing the dict as the second argument.

    from collections import defaultdict
    
    d1 = {'foo': 17}
    d2 = defaultdict(int, d1)
    
    print(d2['foo'])  ## should print 17
    print(d2['bar'])  ## should print 1 (default int val )
    
    0 讨论(0)
提交回复
热议问题