【发布时间】:2014-07-16 12:46:29
【问题描述】:
所以我想要一种比较 d1 和 d2 的方法
d1=
{"tables":
{"k1":
{"columns":
["val1","val2","val3"]
},
"forward":
{"k2":
["val1","val2","val3"]
}
}
}
d2=
{"tables":
{"k1":
{"columns":
["val2","val1","val3"]
},
"forward":
{"k2":
["val2","val1","val3"]
}
}
}
并且相等。这两个列表字典来自不同的来源,我想要最简洁的解决方案。我确信这很简单,但我现在很困惑。
编辑1: 显然你明白我的问题。这正是我的意思。列表不相等,我事先不知道它们是列表,也不知道在存在与列表对应的键集之前有多少字典。这些来自 json 字符串,因此字典不会区分列表和集合(我猜......)
【问题讨论】:
-
你考虑过
d1 == d2吗? -
这两种数据结构的相等性是什么?
-
这些不相等。这些列表的顺序不同。
-
这正是我的意思。
[1, 2, 3]!=[3, 2, 1]] -
你可以依赖多少结构是相同的?它会一直是列表字典的字典吗?你关心任何列表的顺序吗? 你对平等的定义是什么?
标签: python list dictionary comparison