【发布时间】:2020-05-26 11:24:00
【问题描述】:
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
这是我上面的代码,它要求我获取数组中元素数量的输入 n。然而,困惑的根源在于,由于我是 python 新手,我无法理解为什么不使用任何 for 循环,我可以为数组提供多个值? 我知道列表用于转换, input() 用于获取值,但这似乎不合逻辑,仅一个输入语句就可以让我输入 5-6 个数组值!我知道 map 是用来迭代给定函数的可变参数的!
让我感到困惑的另一个原因是,如果我从这里删除 rstrip() 和 split(),我会得到一个编译错误!为什么会这样?
arr = list(map(int, input()))
这是错误:
ValueError: invalid literal for int() with base 10: ' '
这么多代码还不足以获取整数数组值吗? 为什么我必须在这里使用那些字符串方法?
(注意:-我知道 numpy 支持数组!在这里使用数组词只是为了告诉你被问到的问题)
【问题讨论】:
-
编译错误是因为你在行尾少了一个
)。 -
这是一个错字,编辑等待
标签: arrays python-3.x list numpy