我们从 Python 标准库中调用输入列表有什么用?

What for we call for the typing import List from the Python Standard Library?

我正在解决 Leetcode 中的一些问题:https://leetcode.com/problems/remove-duplicates-from-sorted-array/

我找到了答案:

这个问题的答案也可以是:

    class Solution():
        def removeDuplicates(self, nums):
            i = 0
            while i < len(nums)-1:
                if nums[i] == nums[i+1]:
                    del nums[i]
                else:
                    i += 1
   
           return (len(nums), nums)

    numbers = [1, 1, 1, 3, 4, 5, 5, 5, 5, 7, 7, 7, 9, 9]
    some_object = Solution()
    ask_me = some_object.removeDuplicates(numbers)
    print (ask_me)

我找不到为什么在代码中应用键入的问题的答案。另一方面,以下代码也能很好地工作:

    from typing import List

    class Solution(object):
        def removeDuplicates(self, nums: List[int]) -> int:
            i = 0
            while i < len(nums)-1:
                if nums[i] == nums[i+1]:
                    del nums[i]
                else:
                    i += 1

            return (len(nums), nums)


    numbers = [1, 1, 1, 3, 4, 5, 5, 5, 5, 7, 7, 7, 9, 9]
    some_object = Solution()
    ask_me = some_object.removeDuplicates(numbers)
    print (ask_me)

所以,我想澄清一下上述代码的各个方面。也许有人可以帮助我和其他感兴趣的人,并向我们说明我们为什么要从 Python 标准库中调用输入列表?

编程语言要么是静态类型的,要么是动态类型的。

在 java 或 c++ 等具有静态类型的语言中,变量的类型必须在编译时已知。如果我们声明一个变量,编译器应该知道(或推断)它是数字、字符串还是布尔值。静态类型语言在 运行 时间本质上具有更好的性能,因为在执行时不需要动态检查类型(它在 运行ning 之前检查)。

Python 是动态类型的,变量的类型只有在 运行ning 程序时才知道。在 python 中添加输入不会影响性能。您可以在没有类型注释的情况下编写代码,它将 运行。 打字只是帮助您编写更清晰的代码,这是一个非常重要的方面。程序员就像作者,你必须写出更好更简洁的代码,这样其他程序员才能轻松理解你的代码。它对您也有帮助,因为将来如果您需要重新访问您的代码,它会帮助您理解。

在科技公司,不是一个人维护代码,而是有一个团队不断阅读和维护代码。

忘记说了。当您添加类型注释时,您的想法将向您展示可用的方法。假设您注释

 my_variable:str

当您键入此变量时,“my_variable”。在点之后,您的 IDE 将向您显示所有字符串方法。