abe*_*des 6 python arrays split input list
我使用以下语句在列表中获取输入值:
ar = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)
但是,我想限制用户一次可以提供的输入数量.例如,如果限制由数字n指定,则数组应仅捕获程序期间输入的前n个值.
例如:如果n = 6,输入:
1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
在执行'print ar'时,它应显示以下内容而不显示任何错误消息:
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
如果您想忽略其余输入,则可以使用切片仅获取第一个n
输入。例子 -
n = 6
ar = map(int, raw_input().split(None, n)[:n])
Run Code Online (Sandbox Code Playgroud)
我们还使用了maxsplit
for 选项,str.split
以便它只拆分 6 次,然后取前 6 个元素并将它们转换为 int。
这是为了提高性能。我们也可以做简单的 -ar = map(int, raw_input().split())[:n]
但它的性能会低于上述解决方案。
演示 -
>>> n = 6
>>> ar = map(int, raw_input().split(None, n)[:n])
1 2 3 4 5 6 7 8 9 0 1 2 3 4 6
>>> print ar
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2897 次 |
最近记录: |