NameError: name 'List' is not defined

2020-02-06 23:57发布

问题:

I'm really unsure why this isn't working. Here is the important part of the code (it's from a leetcode challenge). The first line throws the NameError.

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

If I try importing List first I get an error No module named 'List'. I'm using Python 3.7.3 from Anaconda.

回答1:

To be able to annotate what types your list should accept, you need to use typing.List

from typing import List

So did you import List?



回答2:

To be able to specify a list of str's in a type hint, you can use the typing package, and from typing import List (capitalized, not to be confused with the built-in list)