Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 名称错误:名称';列表';没有定义_Python_Python 3.x_Python Typing - Fatal编程技术网

Python 名称错误:名称';列表';没有定义

Python 名称错误:名称';列表';没有定义,python,python-3.x,python-typing,Python,Python 3.x,Python Typing,我真的不确定这为什么不起作用。下面是代码的重要部分(来自leetcode挑战)。 第一行抛出NameError def totalFruit(self,tree:List[int])->int: 通过 如果我首先尝试导入列表,我会得到一个错误没有名为'List'的模块。我正在使用来自Anaconda的Python 3.7.3。要能够注释列表应接受的类型,您需要使用键入。list from typing import List 那么您导入了列表了吗 更新 如果您使用Python>3.9,来在类

我真的不确定这为什么不起作用。下面是代码的重要部分(来自leetcode挑战)。 第一行抛出NameError

def totalFruit(self,tree:List[int])->int:
通过

如果我首先尝试导入
列表
,我会得到一个错误
没有名为'List'的模块
。我正在使用来自Anaconda的Python 3.7.3。

要能够注释列表应接受的类型,您需要使用
键入。list

from typing import List
那么您导入了
列表了吗

更新


如果您使用Python>3.9,

来在类型提示中指定str的列表,那么您可以使用
键入
包和
从键入导入列表
(大写,不要与内置的
列表
混淆)

,因为您可以使用内置的集合类型(例如
列表
)作为泛型,而不是从
typing
导入相应的大写类型
这是由于

因此,在Python 3.9或更新版本中,您实际上可以编写:

def totalFruit(self,tree:list[int])->int:#注意列表而不是列表
通过

无需导入任何内容。

顺便说一句,这段代码会有更多问题<代码>对于i,树中的t
将在尝试将整数解包为两个值时产生一个类型错误。令人敬畏的是,键入导入列表中的
似乎起到了作用,还必须修复我代码中其他不相关的错误,谢谢!让我说,是的!:)要使其向后兼容,请执行以下操作:
来自_ufuture\u u导入注释
(来自文档)