Whenever I try to type-hint a list of strings, such as
tricks: list[str] = []
, I get TypeError: ‘type’ object is not subscriptable. I follow a course where they use the same code, but it works for them. So I guess the problem is one of these differences between my an the courses environments. I use:
- vs code
- anaconda
- python 3.8.15
- jupyter notebook
Can someone help me fix that?
I used the same code in normal .py files and it sill doesn’t work, so that is probably not it.
The python version should also not be the problem as this is kind of basic.
Anaconda should also not cause such Error messages.
Leaves the difference between vscode and pycharm, which is also strange.
Therefore I don’t know what to try.
2
Answers
Python 3.8 is trying to subscript list which is of type
type
.This will work:
You’re on an old Python version.
list[str]
is only valid starting in Python 3.9. Before that, you need to usetyping.List
:If you’re taking a course that uses features introduced in Python 3.9, you should probably get a Python version that’s at least 3.9, though.