我们是否可以通过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 ++中的单行和多行输入?
答案 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))