web-dev-qa-db-fra.com

NameError: le nom 'List' n'est pas défini

Je ne sais vraiment pas pourquoi cela ne fonctionne pas. Voici la partie importante du code (il s'agit d'un défi leetcode). La première ligne renvoie la NameError.

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

Si j'essaie d'importer List d'abord, j'obtiens une erreur No module named 'List'. J'utilise Python 3.7.3 d'Anaconda.

18
Ariel Frischer

Pour pouvoir annoter les types que votre liste doit accepter, vous devez utiliser typing.List

from typing import List

Avez-vous donc importé List?

24
LaundroMat

Pour pouvoir spécifier une liste de chaînes dans une indication de type, vous pouvez utiliser le package typing et from typing import List (en majuscule, à ne pas confondre avec le list) intégré

5
Itamar Mushkin