web-dev-qa-db-ja.com

"TypeError:" Type 'Objectはサブスクリプラードではありません "関数署名で"

このコードを実行すると、なぜこのエラーが発生しているのですか?

Traceback (most recent call last):                                                                                                                                                  
  File "main.py", line 13, in <module>                                                                                                                                              
    def twoSum(self, nums: list[int], target: int) -> list[int]:                                                                                                                    
TypeError: 'type' object is not subscriptable
 _
nums = [4,5,6,7,8,9]
target = 13

def twoSum(self, nums: list[int], target: int) -> list[int]:
        dictionary = {}
        answer = []
 
        for i in range(len(nums)):
            secondNumber = target-nums[i]
            if(secondNumber in dictionary.keys()):
                secondIndex = nums.index(secondNumber)
                if(i != secondIndex):
                    return sorted([i, secondIndex])
                
            dictionary.update({nums[i]: i})

print(twoSum(nums, target))
 _
3
yuenster

「Mad Physicist」で上記の答えは機能しますが、3.9の新機能に関するこのページでは、「リスト[int] "も機能する必要があります。

https://docs.python.org/3/whatsnew/3.9.html

しかし、それは私のためにうまくいきません。多分マイパイはまだ3.9のこの機能をサポートしていません。

1
Mark Volkmann