我有两个字典,但为简单起见,我将采用以下两个字典:
>>> x = dict(a=1, b=2)
>>> y = dict(a=2, b=2)
现在,我想比较中的每一key, value
对是否x
具有相同的对应值y
。所以我这样写:
>>> for x_values, y_values in zip(x.iteritems(), y.iteritems()):
if x_values == y_values:
print 'Ok', x_values, y_values
else:
print 'Not', x_values, y_values
而且它有效,因为tuple
返回了a ,然后比较了相等性。
我的问题:
这个对吗?有 更好的 方法吗?最好不要速,我所说的是代码优雅。
更新:我忘了提到我必须检查多少key, value
对是相等的。
如果您想知道两个字典中有多少个值匹配,您应该说:)
也许是这样的:
shared_items = {k: x[k] for k in x if k in y and x[k] == y[k]}
print len(shared_items)
问题内容: 我有两个字典,但为简单起见,我将采用以下两个字典: 现在,我想比较中的每一, 对是否x具有相同的对应值。所以我这样写: 而且它有效,因为tuple返回了a ,然后比较了相等性。 我的问题: 它是否正确?有更好的方法吗?最好不要提速,我是在讲代码优雅。 更新:我忘了提到我必须检查多少对是相等的。 问题答案: 如果你想知道两个字典中都匹配多少个值,你应该说:) 也许是这样的:
问题内容: JDK中是否有一种方法比较两个对象的相等性(是否为空)?像这样: 自己编写此方法似乎很愚蠢,因为我认为它必须已经存在于某个地方。 问题答案: Java 7.0添加了一个新的便捷类:。 它有一个专门用于此的方法:
问题内容: 我有以下两个玩具字典 我想得到一个唯一的字典,在其中我将第二个字典值堆叠在第一个字典之后,并放在相同的方括号内。 我尝试了以下代码 但是我获得的输出在每个键的列表中有两个列表,即 而我想获得 如何使用一行或两行代码来实现? 问题答案: 您几乎拥有了它,而是使用了附加两个列表的方法:
问题内容: 因为不接受运算符,有没有一种快速比较两个字典的简便方法? 通过比较两个字典,我的意思是检查它们是否具有相同的精确键,并且对于每个键都具有相同的值。 问题答案: 正如Hot Licks所述,您可以使用NSDictionary方法isEqualToDictionary()来检查它们是否相等,如下所示: 您还可以实现自定义运算符“ ==”,如下所示: Xcode 9•Swift 4 从文档开
问题内容: 我有一个简单的疑问。如果有人帮助我,那就太好了。 我有两个字符串: 这两个值相等,但是如何在Java中比较它们呢?我们拥有并用于比较字符串alpha值,类似地,如何比较数字值。 问题答案: 这就对了。您可以使用方法将数字字符串转换为整数,该方法将返回类型。然后比较与相同。
我有两个哈希数组: 我想在< code>a2中找到其< code>ID和< code>name字段与< code>a1中条目的< code>ID和< code>name字段相匹配的散列(不考虑< code>email或任何其他进入< code>a2的项目),然后将< code>ORDER_NO的值合并到< code>a1散列中也就是说,以下列方式结束: 我也想忽略 a2 中存在的元素,但不忽略 a