if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
在上面的代码中,map函数接受两个参数,我理解第二个参数是干什么用的,但是不明白'int'参数的作用。
if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
因此,它将返回一个可迭代对象,在该对象上将 int() 函数应用于来自 .split()
的每个子字符串,这意味着它将每个子字符串转换为 int 。
示例:
arr = map(int, "12 34 56".split())
arr = list(arr) # to convert the iterable to a list
print(arr) # prints: [12, 34, 56]
# This is equivalent:
arr = [int("12"), int("34"), int("56")]
使用自定义函数而不是 int() 的另一个示例:
def increment(x):
return x + 1
arr = map(increment, [1, 2, 3, 4, 5])
arr = list(arr)
print(arr) # prints: [2, 3, 4, 5, 6]
5
并按回车键:n = int(input())
5
。因此,我们从string
转换为int
。123 324 541 123 134
,然后按回车键。
.split()
将其拆分成“123”,“324”,“541”,“123”,“134”,这是一个字符串的列表(也是一个map
)。然后,我们将int
映射到它们上面,以便得到一个int
的map
而不是字符串。 int
将字符串转换为整数。python
或python3
(如果已安装)或使用replt.it。输入a = "123" + "321"
,然后尝试`a = int("123") + int("321")list(map(int, input().split()))
中,以获取list
而不是map
。save = 0;
smallNumber = arr[0]~
- Prathamesh Morearr[0]
is not working. smallNumber = arr[0] TypeError: 'map' object is not subscriptable
- Prathamesh Morelist()
,这样它就不是一个映射而是一个列表。 - Zev