python数组和矩阵用法
生活随笔
收集整理的這篇文章主要介紹了
python数组和矩阵用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python數組和矩陣
先創建一個一維數組
直接定義一個數組:
a = [1,2,3,4,5] b = ['a','c','c','s'] print(a) print(b)輸出結果:
通過鍵盤輸入一個數組,每個數用空格隔開:
a = input().split(' ') print(a)輸出結果:
但是這個時候返回的a是一個字符串類型的列表,要轉換為想要的類型該怎么做呢?
轉換成int類型:
a = input().split(' ') print(a) #遍歷每個元素進行轉換 c=[] for i in a:c.append(int(i)) for i in range(0,len(c)):print(c[i],end=" ") print() #使用內置函數map() d=list(map(int,a)) for i in range(0,len(d)):print(d[i],end=" ") print() #利用列表的推導式 e=[int(i) for i in a] for i in range(0,len(e)):print(e[i],end=" ")輸出結果:
二維數組該如何創建呢?
直接循環定義:
arr = [[0] * 3 for i in range(2)] print(arr) arr[0][1] = 1 print(arr)高級方法有沒有?當然有,就是numpy包的使用
import numpy as np #創建全零數組,使用頻率高 #dtype 默認float類型 arr = np.zeros((2,5),dtype=int) print(arr) arr[1][0] = 1 print(arr) #可以將兩個創建好的一維數組生成一個二維數組 a = np.array([[1,2,3],[4,5,6]]) print(a) a[0][0] = 0 print(a)數組與矩陣
矩陣是一種二維數據結構,和二維數組相似,但二者又有很大差別。很多時候我們都直接將二維數組當作矩陣運算
其實就是numpy中mat()函數和array()函數的區別:
- 聊區別就先看看他們的相同的用法,兩者都可以進行矩陣運算
輸出結果都是
- 他們得到的矩陣性質不同,在矩陣乘法的使用也不同。
mat()和 array ()后面加上 .T 得到轉置。但是mat()還可以在后面加 .H 得到共軛矩陣, 加 .I 得到逆矩陣
array()乘法:*代表點乘(對應元素相乘),dot()代表矩陣乘(叉乘)。
mat()乘法:*代表矩陣乘(叉乘),multiply()代表點乘。
import numpy as npa = np.array([[1,2,3], [4,5,6],[7,8,9]]) b = np.mat([[1,2,3], [4,5,6],[7,8,9]]) c = np.ones((3,3),dtype=int) print(a) print(b) print(c) #叉乘 print(np.dot(a,c)) print(np.dot(b,c)) #點乘 print(np.multiply(b,c)) print(a*c)輸出結果:
array()的平方是矩陣對應位置數的平方,mat()的平方是矩陣乘積
print("a的平方",a**2) print("b的平方",b**2)輸出結果:
總結
以上是生活随笔為你收集整理的python数组和矩阵用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《英雄联盟》S13 全球总决赛淘汰赛:T
- 下一篇: NASA 机智号火星直升机完成第 64