用于单行列表输入的Python代码以及多行数组输入

时间:2017-07-13 06:33:23

标签: python

我们是否可以通过Python获取单行以及多行列表输入? 就像在C ++中一样,我们有: -

for(i=0;i<5;i++)
{
  cin>>A[i]; //this will take single line as well as multi-line input .
}

现在在Python中我们有: -

l=list(map(int,input().strip().split())) //for single line 
           &
l=list()
for i in range of(0,5):
      x=int(input())
      l.append(x) //for multi-line input

所以我的问题是我们有没有任何python代码可以采用我们在C ++中的单行和多行输入?

2 个答案:

答案 0 :(得分:0)

根据文档,input()读取一行。

多行“输入”的最小示例。

>>> lines = sys.stdin.readlines() # Read until EOF (End Of 'File'), Ctrl-D
1 # Input
2 # Input
3 # Input. EOF with `Ctrl-D`.
>>> lines # Array of string input
['1\n', '2\n', '3\n']
>>> map(int, lines) # "functional programming" primitive that applies `int` to each element of the `lines` array. Same concept as a for-loop or list comprehension. 
[1, 2, 3]

如果您使用map感到不舒服,请考虑列表压缩:

>>> [int(l) for l in lines]
[1, 2, 3]

答案 1 :(得分:0)

重新发明方形轮很容易:

def m_input(N):
    if(N < 1): return []
    x = input().strip().split()[:N]
    return x + m_input(N - len(x))