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