如何在Python中读取通用用户格式的矩阵
我想使用python从控制台读取如下方形矩阵:如何在Python中读取通用用户格式的矩阵,python,Python,我想使用python从控制台读取如下方形矩阵: 1 2 3 2 1 6 5 1 2 我试着用这个: matrix = [[int(input()) for x in range (n)] for y in range(n)] 但在这里,每个元素可以逐行给出,而不像矩阵。我们也可以把它作为一行来读,但是我怎么能像上面那样读呢?你可以这样做: n=3 [list(map(int, input().split(' '))) for y in range(n)] 输入/输出: 1 2 3 2 1
1 2 3
2 1 6
5 1 2
我试着用这个:
matrix = [[int(input()) for x in range (n)] for y in range(n)]
但在这里,每个元素可以逐行给出,而不像矩阵。我们也可以把它作为一行来读,但是我怎么能像上面那样读呢?你可以这样做:
n=3
[list(map(int, input().split(' '))) for y in range(n)]
输入/输出:
1 2 3
2 1 6
5 1 2
Out[50]: [[1, 2, 3], [2, 1, 6], [5, 1, 2]]
@SuppressionLayer的答案有效,但只接受由
n
定义的固定大小的矩阵。由于行数与列数相等,您只需从第一次输入中获取列数,并在用户输入相同行数时停止输入:
l = []
while not l or len(l) < len(l[0]):
l.append(list(map(int, input().split())))
l
将变成:
[[1, 2, 3], [2, 1, 6], [5, 1, 2]]
这回答了你的问题吗?这似乎适用于逐行给定的字符串输入。我想将其存储为整数列表elements@AkhilaRajeev控制台输入是字符串输入。你只需要转换它,好的。。谢谢@John Coleman但这是一行输入?好的。谢谢:)@blhsing
[[1, 2, 3], [2, 1, 6], [5, 1, 2]]