Python基础之矩阵输入的实例

Python矩阵输入

经常在尝试python一些函数功能时想随便输入一个矩阵感觉怪麻烦……python是拿list表示数组的,毕竟不是矩阵(Matrix)实验室(Laboratory)嘛2333

Python直接复制格式标准的数据是可以识别成list的,但我要是输入一个规整的矩阵就繁琐了些。比如这种

1     4     7    10
2     5     8    11
3     6     9    12

Python里面可以这样输入

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里面很方便,就两句

A=1:12;
B=reshape(A,3,4);

又比如下面这段输出这样的矩阵[[0, 1, 2], [0, 1, 2], [0, 1, 2]]

A = []
for i in range(0, 3):
    tmp = []
    for j in range(0, 3):
        tmp.append(j)
    A.append(tmp)
print A

python输入(数组、矩阵)

一维输入对应不同变量

n,x,y = map(int,input().split())
print(n,x, y)

输入:10 2 3

输出: 10 2 3

一维数组的输入问题

arr = input()
arr = [int(n) for n in arr.split()]
print(arr)

输入:1 9 0 0 1

输出:[1, 9, 0, 0, 1]

二维数组的输入问题

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()函数为删除结尾处的空白符

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的