我发现,当列出数组int时,输入比int(int())更可接受。有人能给我解释一下这两者有什么区别吗?为什么是输出?
当这是我的代码时:
def Union(arr1, arr2):
res = list(set(arr1) | set(arr2))
return sorted(res)
arr1 = list(map(int(input("Enter first array: ").split())))
arr2 = list(map(int(input("Enter second array: ").split())))
print(Union(arr1, arr2))它的产出如下:
Enter first array: 1 2 3
Traceback (most recent call last):
File "main.py", line 6, in <module>
arr1 = list(map(int(input("Enter first array: ").split())))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'与我使用此代码的时间相比
def Union(arr1, arr2):
res = list(set(arr1) | set(arr2))
return sorted(res)
arr1 = list(map(int,input("Enter first array: ").split()))
arr2 = list(map(int,input("Enter second array: ").split()))
print(Union(arr1, arr2))发布于 2022-09-12 17:42:20
你的两个解决方案都是在一条线上完成很多事情。让我们把每一行分成更小的步骤,看看它在做什么。
我们先从
arr1 = list(map(int,input("Enter first array: ").split()))现在让我们逐个看一看每一段:
number_string = input("Enter first array: ") # get input
number_strings = number_string.split() # split input into a list
numbers = map(int, number_strings) # convert input to numbers
number_list = list(numbers) # make it a list现在让我们来分析一下这个:
arr1 = list(map(int(input("Enter first array: ").split())))个别作品如下所示:
number_string = input("Enter first array: ") # get input
number_strings = number_string.split() # split input into a list
number = int(number_strings) # convert an entire list to a number????现在我们可以看到为什么会有一个错误。不能将列表转换为int。
通常,当您有错误或其他问题时,最好将一条长语句分解成以下较小的部分。这样,您就可以看到哪个较小的步骤导致了问题。
https://stackoverflow.com/questions/73693059
复制相似问题