Python 3 List Type errors All In One

发布时间 2023-07-31 16:26:00作者: xgqfrms

Python 3 List Type errors All In One

Python 3.9.x+

error

NameError: name 'List' is not defined

image

class Solution:
  # ❌ NameError: name 'List' is not defined
  def twoSum(self, nums: List[int], target: int) -> List[int]:
    arr = []
    for i, n in enumerate(nums):
      v = target - n
      for j, m in enumerate(nums.slice(i)):
        if(i != j and v == m):
          arr.append(i)
          arr.append(j)
          break
    return arr

# test cases

t1 = [[2,7,11,15], 9]
t2 = [[3,2,4], 6]
t3 = [[3,3], 6]
tests = [t1, t2, t3]

r1 = [0,1]
r2= [1,2]
r3 = [0,1]
results = [r1, r2, r3]

def test():
  for index, test in enumerate(tests):
    r = Solution.twoSum(test)
    result = results[index]
    if(str(r) == str(result)):
      print("passed ✅", index)
    else:
      print("failed ❌", index, test)


""" 
$ py3 ./0001_two-sum.py

"""

solutions

  1. from typing import List
def twoSum(self, nums: List[int], target: int) -> List[int]:
  1. python 3.9.x+ built-in collection types list
def twoSum(self, nums: list[int], target: int) -> list[int]:

https://stackoverflow.com/questions/57505071/nameerror-name-list-is-not-defined

https://peps.python.org/pep-0585/

https://docs.python.org/3.9/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

demos

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!