如何将py元组隐式转换为int?

-7 投票
0 回答
61 浏览
提问于 2025-04-12 00:10

我有一些代码需要比较一个整数网格的列和行。这个网格的大小在编译时是未知的。

所以我需要一个好的哈希函数,用来处理一维的整数数组。

下面的代码可以正常编译和运行,它可以唯一地识别任何一行或一列:

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 个回答

暂无回答

撰写回答