限制Python

时间:2015-10-14 04:13:37

标签: python arrays list input split

我使用以下语句在列表中获取输入值:

ar = map(int, raw_input().split())

但是,我想限制用户一次可以提供的输入数量。例如,如果限制由数字n指定,则数组应仅捕获程序期间输入的前n个值。

例如:如果n = 6, 输入:

1 2 3 4 5 6 7 8 9 10

在执行'print ar'时,它应显示以下内容而不显示任何错误消息:

[1, 2, 3, 4, 5, 6]

3 个答案:

答案 0 :(得分:4)

如果要忽略输入的其余部分,则可以使用切片仅采用第一个n输入。示例 -

n = 6
ar = map(int, raw_input().split(None, n)[:n])

我们还使用maxsplit的{​​{1}}选项,使其仅拆分6次,然后获取前6个元素并将它们转换为int。

这是为了更多的表现。我们也可以做到这一点 - str.split,但它的性能不如上述解决方案。

演示 -

ar = map(int, raw_input().split())[:n]

答案 1 :(得分:1)

如何将git submodule update --recursive --init索引到第6个元素?从技术上讲,它是第7个元素,因为ar将切入,但不包括第n个元素

newarray

这应该允许无限输入

答案 2 :(得分:0)

我正在寻找相同问题的解决方案。

我想出了下面我能做的就是我的解决方案。

bookid = []
M = int(input())
S = input().split()
for i in range(M):
    books.append(S[i])
print(booksid)

但我认为这绝对不是最有效的方法,但很容易。