Rayan
Rayan

Reputation: 13

It keeps telling me that this object has no len in leetcode 35. Search Insert Position

it keeps giving me this error can you tell me why. I can't find the answer

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        x = len(List)
        for i in range(x):
            if List[i] == target:
                return i
            elif List[i] > target:
                return List[i-1]

TypeError: object of type '_SpecialGenericAlias' has no len()

Upvotes: 0

Views: 6724

Answers (2)

DeepSpace
DeepSpace

Reputation: 81604

len(List) is trying to check the len of the type alias List (which is used only for type hinting).

Even len(list) would have been wrong as it was trying to check the len of the list type.

The check should be len(nums) as nums is the name of variable that holds the actual list.

Similarly, List[i] and List[i-1] should be nums[i] and nums[i - 1].

Upvotes: 2

Ismail Hafeez
Ismail Hafeez

Reputation: 740

You're not checking the length of nums, you're trying to check the lenght of List which is just an alias.

Replace x = len(List) with x = len(nums)

Upvotes: 1

Related Questions