在Python中,可以使用元组(tuple)作为不可变的可哈希列表,同时添加正确的类型化来确保列表中的元素类型是正确的。
下面是示例代码:
from typing import Tuple
def create_immutable_list(elements: Tuple[int, str, float]) -> Tuple[int, str, float]:
return elements
# 创建一个不可变的可哈希列表
my_list = (1, 'two', 3.0)
# 将不可变列表传递给函数,并返回一个新的不可变列表
new_list = create_immutable_list(my_list)
print(new_list) # 输出: (1, 'two', 3.0)
在上面的代码中,create_immutable_list
函数接受一个参数elements
,类型为Tuple[int, str, float]
,即一个包含整数、字符串和浮点数的元组。函数内部将传入的元组直接返回,因为元组是不可变的,所以不会对其进行修改。
通过使用类型提示(使用from typing import Tuple
导入Tuple
),我们可以在函数定义和函数调用时指定参数和返回值的类型,以确保类型的正确性。
注意:如果要在不可变的可哈希列表中存储复杂对象(如自定义的类实例),则需要确保该对象是可哈希的,即实现了__hash__
方法和__eq__
方法。否则,将会引发TypeError
异常。