如何将py元组隐式转换为int?
我有一些代码需要比较一个整数网格的列和行。这个网格的大小在编译时是未知的。
所以我需要一个好的哈希函数,用来处理一维的整数数组。
下面的代码可以正常编译和运行,它可以唯一地识别任何一行或一列:
def hashValue(a: List[int]) -> int:
return tuple(a)
rows = {}
for i in range(len(grid)):
hash = hashValue(grid[i])
if hash in rows:
rows[hash] += 1
else:
rows.append(hash,1)
但是我不太明白它背后是怎么运作的。
这个哈希函数会从整数列表中创建一个元组,并返回一个整数,这个整数可以作为字典中的键,用来后续比较列和行。
但是,Python是怎么把这个元组转换成整数的呢?
Python是否在内部维护了一个不可变元组的哈希值呢?
0 个回答
暂无回答