在python中,所有输入都在一行中,如何在列表中获取输入?
输入式在python中,所有输入都在一行中,如何在列表中获取输入?,python,python-3.x,list,matrix,Python,Python 3.x,List,Matrix,输入式 s=input().split() n,m=int(s[0]),int(s[1]) arr=(int(i) for i in s[2:]) 在这两种情况下,前两种是行和列 剩下的是2d列表元素 输出类似 3 4 1 2 3 4 5 6 7 8 9 10 11 12 遵循您的代码: arr=列表(arr) 块=[arr[i:i+m]表示范围(0,len(arr,m)] 断言len(块)==n 遵循您的代码: arr=列表(arr) 块=[arr[i:i+m]表示范围(0,len(arr
s=input().split()
n,m=int(s[0]),int(s[1])
arr=(int(i) for i in s[2:])
在这两种情况下,前两种是行和列
剩下的是2d列表元素
输出类似
3 4 1 2 3 4 5 6 7 8 9 10 11 12
遵循您的代码:
arr=列表(arr)
块=[arr[i:i+m]表示范围(0,len(arr,m)]
断言len(块)==n
遵循您的代码:
arr=列表(arr)
块=[arr[i:i+m]表示范围(0,len(arr,m)]
断言len(块)==n
如果是一个选项,您可以简单地重塑1D阵列:
[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
可以将其输出为numpy数组
s = input().split()
n,m = int(s[0]),int(s[1])
arr = numpy.array(s[2:], dtype=int).reshape((n,m))
或者将其转换为嵌套列表
print(arr)
# array([[ 1, 2, 3, 4],
# [ 5, 6, 7, 8],
# [ 9, 10, 11, 12]])
如果是一个选项,您可以简单地重塑1D阵列:
[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
可以将其输出为numpy数组
s = input().split()
n,m = int(s[0]),int(s[1])
arr = numpy.array(s[2:], dtype=int).reshape((n,m))
或者将其转换为嵌套列表
print(arr)
# array([[ 1, 2, 3, 4],
# [ 5, 6, 7, 8],
# [ 9, 10, 11, 12]])
试着这样做:
print(arr.tolist())
# [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
输出:
s = input().split()
s = list(map(int, s))
[s[2 + (i - 1) * s[1]: 2 + i * s[1]] for i in range(1, s[0] + 1)]
试着这样做:
print(arr.tolist())
# [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
输出:
s = input().split()
s = list(map(int, s))
[s[2 + (i - 1) * s[1]: 2 + i * s[1]] for i in range(1, s[0] + 1)]