python3中字典有顺序_Python 3.x:如何比较包含字典的两个列表,其中顺序无关紧要...

我有嵌套的字典,可能包含其他字典或列表.我需要能够比较这些词典的列表(或确定),以表明它们是平等的.

列表的顺序不统一.通常,我会将列表转换为集合,但由于存在也是字典的值,因此不可能.

a = {'color': 'red'}

b = {'shape': 'triangle'}

c = {'children': [{'color': 'red'}, {'age': 8},]}

test_a = [a, b, c]

test_b = [b, c, a]

print(test_a == test_b) # False

print(set(test_a) == set(test_b)) # TypeError: unhashable type: 'dict'

有没有一种方法来表明test_a与test_b具有相同的内容?

解决方法:

您可以使用一个简单的循环来检查一个列表中的每个列表是否在另一个列表中:

def areEqual(a, b):

if len(a) != len(b):

return False

for d in a:

if d not in b:

return False

return True

标签:python,python-3-x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值