Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: ‘type’ object is not subscriptable [duplicate]

Tags:

python

I’m trying to get the function below to run. However I’m getting an error saying

TypeError: ‘type’ object is not subscriptable 




def dist(loc1: tuple[float], loc2: tuple[float]) -> float:
    dx = loc1[0] - loc2[0]
    dy = loc1[1] - loc2[1]
    return (dx**2 + dy**2)**0.5
like image 916
Saa17 Avatar asked Jun 14 '26 11:06

Saa17


1 Answers

You need to use typing.Tuple, not the tuple class.

from typing import Tuple

def dist(loc1: Tuple[float], loc2: Tuple[float]) -> float:
    dx = loc1[0] - loc2[0]
    dy = loc1[1] - loc2[1]
    return (dx**2 + dy**2)**0.5
dist((1,2),(2,1)) # output 1.4142135623730951
like image 152
tomerar Avatar answered Jun 17 '26 11:06

tomerar