【问题标题】:How merge a dict and a list and adding more value to it?如何合并字典和列表并为其添加更多价值?
【发布时间】:2019-09-28 04:17:16
【问题描述】:

我们有这个字典和这个列表

mydict={a:1,b:1}
mylist=[a,b,a,c]

我想像这样将该列表合并到字典中:

mydict={a:3,b:2,c:1}

【问题讨论】:

    标签: python-3.x dictionary merging-data


    【解决方案1】:

    @meTchaikovsky 回答的伴侣。

    for item in mylist:
        mydict[item] = mydict.get(item, 0) + 1
    
    

    【讨论】:

      【解决方案2】:

      你可以这样做

      for item in mylist:
          try:
              mydict[item] += 1
          except KeyError:
              mydict[item] = 1
      

      【讨论】:

        【解决方案3】:

        我会为此使用计数器。

        from collections import Counter
        
        mydict={'a':1,'b':1}
        mylist=['a','b','a','c']
        
        c1 = Counter(mydict)
        c2 = Counter(mylist)
        
        mynewdict = c1 + c2
        
        Counter({'a': 3, 'b': 2, 'c': 1})
        

        如果您需要 newdict 作为实际的 dict 而不是计数器,那么:

        mynewdict = dict(mynewdict)

        【讨论】:

          猜你喜欢
          • 2013-03-18
          • 1970-01-01
          • 2017-04-19
          • 2020-08-06
          • 2020-08-05
          • 1970-01-01
          • 2018-08-30
          • 2020-12-28
          • 2020-08-11
          相关资源
          最近更新 更多