我的代码中有一个哈希,hash1 = [val1, val2, val3]
--
有多个这样的散列——hash1……hashn。在
我想做一个比较,在hash1…hashn中,如果它们匹配所有的值,它应该打印出这些值并引发一个异常,我该怎么做?在
也就是说
hash1 = (1234, "this is me", 456, "hello")
hash2 = (2345, "hello from adele", 456, "hello again")
........
hashn = (1234, "this is me", 456, "hello")
hash1=hashn——引发异常并打印hashn值
如何在python中执行这个检查?我不想使用集合,我更喜欢按列表/映射。在
在Python中,
tuple
等式是一个元素一个元素地工作,所以您可以简单地如果它们都在一个列表中,那么
^{pr2}$O(n^2)
的解决方案是或使用
any
:如果有大量元素,一个更有效的方法是先进行排序,然后进行线性扫描(重复项将在排序后的列表中相邻,因为for
tuple
sa < b
在元素上按字典顺序工作)。在另一个更快的选择是使用
dict
,其中tuple
s作为键,索引作为值(如果您不关心原始列表中的冲突索引是什么,则使用set
)。这是可行的,因为tuple
s被视为“值”而不是“对象”,因此不考虑标识。在相关问题 更多 >
编程相关推荐