Python矩阵输入
经常在尝试python一些函数功能时想随便输入一个矩阵感觉怪麻烦……python是拿list表示数组的,毕竟不是矩阵(Matrix)实验室(Laboratory)嘛2333
Python直接复制格式标准的数据是可以识别成list的,但我要是输入一个规整的矩阵就繁琐了些。比如这种
1
2
3
|
1 4 7 10 2 5 8 11 3 6 9 12 |
Python里面可以这样输入
1
2
3
4
5
6
7
8
|
count = 1 ;A = [] for i in range ( 0 , 3 ): temp = [] for j in range ( 0 , 4 ): temp.append(count) count + = 1 A.append(temp) print A |
输出为
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
事实上在matlab里面很方便,就两句
1
2
|
A = 1 : 12 ; B = reshape(A, 3 , 4 ); |
又比如下面这段输出这样的矩阵[[0, 1, 2], [0, 1, 2], [0, 1, 2]]
1
2
3
4
5
6
7
|
A = [] for i in range ( 0 , 3 ): tmp = [] for j in range ( 0 , 3 ): tmp.append(j) A.append(tmp) print A |
python输入(数组、矩阵)
一维输入对应不同变量
1
2
|
n,x,y = map ( int , input ().split()) print (n,x, y) |
输入:10 2 3
输出: 10 2 3
一维数组的输入问题
1
2
3
|
arr = input () arr = [ int (n) for n in arr.split()] print (arr) |
输入:1 9 0 0 1
输出:[1, 9, 0, 0, 1]
二维数组的输入问题
1
2
3
4
5
|
n = int ( input ()) arr = [] for i in range (n): arr.append( list ( map ( int , input ().rstrip().split()))) print (arr) |
输入:
3
1 2 3
4 2 9
0 3 8
输出:
[[1, 2, 3], [4, 2, 9], [0, 3, 8]]
输入 :
4
1 3
98 1
2 7
2 9
输出:
[[1, 3], [98, 1], [2, 7], [2, 9]]
这里的rstrip()函数为删除结尾处的空白符
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/thither_shore/article/details/52333976