为了账号安全,请及时绑定邮箱和手机立即绑定

Python - 将字典添加到列表

Python - 将字典添加到列表

慕盖茨4494581 2021-06-30 14:15:19
清单 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 做到这一点?谢谢!
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

如果您的dicts 中的数据永远不会改变,而您想要密钥,那么您应该选择使用namedtuples。


您需要将嵌套list转换为 a,tuple因为列表不可散列。然后你可以把你现有的字典放入你的命名元组中(或直接创建它们)。


d1 = { 

   'test': 'baum',

   'alter': 0,

   'voegel': ('amsel')

}

d2 = { 

   'test': 'grosserbaum',

   'alter': 3,

   'voegel': ('meise')

}


from collections import namedtuple


Test = 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__.


查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号