Python - 将字典添加到列表

清单 1


[]

字典 1


   'test': 'baum',

   'alter': 0,

   'voegel': ['amsel']

}

字典2


   'test': 'grosserbaum',

   'alter': 3,

   'voegel': ['meise']

}

做一些事情将字典合并在一起......


结果:


[

   { 

      'test': 'baum',

      'alter': 0,

      'voegel': ['amsel'] 

   }, 

   { 

      'test': 'grosserbaum',

      'alter': 3,

      'voegel': ['meise']

   }

]

如何使用 Python 做到这一点?谢谢!


慕盖茨4494581
浏览 125回答 2
2回答

Cats萌萌

如果您的dicts 中的数据永远不会改变,而您想要密钥,那么您应该选择使用namedtuples。您需要将嵌套list转换为 a,tuple因为列表不可散列。然后你可以把你现有的字典放入你的命名元组中(或直接创建它们)。d1 = {    'test': 'baum',   'alter': 0,   'voegel': ('amsel')}d2 = {    'test': 'grosserbaum',   'alter': 3,   'voegel': ('meise')}from collections import namedtupleTest = namedtuple("Test", "test alter voegel")t1 = Test(**d1)t2 = Test(**d2)print(t1)            # Test(test='baum', alter=0, voegel='amsel')print(t2)            # Test(test='grosserbaum', alter=3, voegel='meise')print(set([t1, t2])) # {Test(test='grosserbaum', alter=3, voegel='meise'), Test(test='baum', alter=0, voegel='amsel')}现在您可以将这些命名元组保存在 a 中,set这样集合将只包含唯一的项目!此外,namedtuples 使用的内存比 dict 少,因为它实现了__slots__.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python