我想我可以为列表的元素指定一个类型,如下所示:
import typing
CustomType = typing.NamedTuple("CustomType", [("one", str), ("two", str)])
def test_function(some_list: list[CustomType]):
print(some_list)
if __name__ == "__main__":
test_list = list[
CustomType(one="test", two="test2"),
CustomType(one="Test", two="Test2")
]
test_function(some_list=test_list)
但这警告我,在test_function调用Expected type 'list[CustomType]', got 'Type[list]' instead
时。
以下是可行的,但我不确定为什么必须这样做:
test_list: list[CustomType] = list([
CustomType(one="test", two="test2"),
CustomType(one="Test", two="Test2")
])
1条答案
按热度按时间4zcjmb1e1#
这里的问题是如何示例化列表。
list[]
会给予你一个列表类型,它有一些额外的味道。你想用经典的语法示例化列表,例如:使用简单的括号,或者更复杂的list([...])
。