python中矩陣(matrix或array)運算比for迴圈速度更快
在matlab中進行矩陣元素處理時,使用矩陣運算比for迴圈快。在Python語言中也是這樣的。下面這個程式是一個簡單的測試。
import time as tm import numpy as np dim = 100000#資料長度(包含的元素個數) x1 = np.ones(dim) x2 = np.ones(dim) yFor = np.ones(dim) tStart = tm.clock()#開始計時 #for迴圈解算x1*x2(對應元素相乘) for i in range(dim): yFor[i] = x1[i]*x2[i] tEnd=tm.clock()#停止計時 tFor = tEnd-tStart#計算用時 tStart = tm.clock()#開始計時 #矩陣計算x1*x2(對應元素相乘) yMatrix = x1*x2 tEnd = tm.clock()#停止計時 tMatrix = tEnd-tStart#計算用時 print 'for迴圈用時tFor=',tFor print '矩陣運算用時tMatrix=',tMatrix print '運算用時tFor-tMatrix=',tFor-tMatrix print '運算結果的差(所有元素累積和)yFor-yMatrix=',np.sum(yFor-yMatrix)
相關推薦
python中矩陣(matrix或array)運算比for迴圈速度更快
在matlab中進行矩陣元素處理時,使用矩陣運算比for迴圈快。在Python語言中也是這樣的。下面這個程式是一個簡單的測試。 import time as tm import numpy as np dim = 100000#資料長度(包含的元素個數) x1 = np.
Iterator(迭代器)、增強for迴圈
二、Iterator介面 三、Iterator的實現過程 四、迭代器的併發修改異常 五、增強的for迴圈 一、迭代器(It
python中list(列表)、元組和array的區別-分別什麼時候使用?
list是列表,list中的元素的資料型別可以不一樣。array是陣列,陣列中的元素的資料型別必須一樣 Python中的列表(list)類似於C#中的可變陣列(ArrayList),用於順序儲存結構。它可以方便、高效的的新增刪除元素,並且列表中的元素可以是多種型別。列表很多操作都跟元組一
在python中矩陣維度, (a,)和 a 有什麼區別?
在python中矩陣維度, (a,)和 a 有什麼區別? 測試: import numpy as np trainx = np.linspace(-1, 1, 10) print(trainx.shape) print(trainx[0].shape) print(*trainx
python中陣列(numpy.array)的基本操作
本文部分內容參考Daetalus的部落格。 為什麼要用numpy Python中提供了list容器,可以當作陣列使用。但列表中的元素可以是任何物件,因此列表中儲存的是物件的指標,這樣一來,為了儲存
2D平面中關於矩陣(Matrix)跟圖形變換的講解
在二維平面上,常用的有以下三種基本的圖形變化: 1)Translation 2)Scale 3)Rotation 在Android的開發中,我們也經常會用到這樣的一些圖形變換,尤其是我們在寫自定義View時,更是會經常利用到Matrix來實現一些效果,比如平移,旋轉,縮放及
python中enumerate()的用法
bsp pos 元素 變量 lis 遍歷序列 rate too st3 先出一個題目:1.有一 list= [1, 2, 3, 4, 5, 6] 請打印輸出:0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印輸出, 2.將 list 倒序成 [6, 5, 4
Python中包(package)的調用方式
inf none 普通 bfd 是否 open usr -a pack Python中包(package)的調用方式 作者:尹正傑 版權聲明:原創
統計學中的協方差矩陣(陣列訊號基礎)
在處理陣列訊號的時候,為了獲得空間訊號維度的相關性,以估計目標的資訊。故使用協方差矩陣能夠獲得這些,因為協方差矩陣是每一維度下(也就是陣元)訊號的相關性。當兩個維度相關時,訊號的協方差也是最大的。 一、統計學的基本概念 統計學裡最基本的概念就是樣本的均值、
python中星號(*)的用法
這裡不說乘法,大家都知道 先看幾個測試語句: import numpy as np a=np.random.rand(2) print(a) print(*a) 輸出結果: [0.95721482 0.55708755] 0.9572148191916312 0.5570875
說說在 Vue.js 中如何繫結樣式(class 或 style)
在資料繫結中,最常見就是動態繫結元素的 class 或內聯樣式 style 咯,它們也是 HTML 的屬性,所以可以使用 v-bind 指令 。 1 繫結 class 1.1 物件語法 使用 v-bind:class 屬性,實現動態切換 class。 html:
python 中zip(*iterables)函式的使用
1.zip()函式的定義 從引數中的多個迭代器取元素組合一個新的迭代器 返回:一個zip物件,其內部元素為元組,可以轉化為列表或者元組 傳入引數:元組、列表、字典等迭代器 2.zip()函式的使用 僅僅有一個引數時,從迭代器中依次取一個元組,組成元組。>>
python中字串(str)的操作
s = 'hello' # 字串的重疊 s = 'hello' * 2 # 字串的拼接 s = 'hello' + 'world' print(s) # 統計字元個數 print(len(s)) # 提取單個字元,通過下表提取 # 從開頭提取,下表從0開始 print(s[
python中反射(__import__和getattr使用)
反射: 1、可通過字串的形式匯入模組 1.1、單層匯入 __import__('模組名') View Code
python中map()函式使用,資料型別轉換
python中map()函式進行資料轉換 用法: map(function, iterable, …), 返回的是map型,(ps:python2中返回的是list型可以直接顯示,但在python3中是map型無法直接顯示) 引數function: 傳的是一
java(List或Array陣列)求交集、並集、差集, 泛型工具類
業務需要求不同型別的交集、並集、差集為避免程式碼冗餘編寫工具類。 注:list 轉陣列需傳入陣列,如果將原陣列傳入將會改變原陣列的值,同時泛型陣列又不可以例項化,解決方案:Arrays.copyOf(n,list.size()) ,使用copyOf功能,開闢返回集合的等長新陣列,避免修改原陣列。
python中items()和iteritems()的區別
items()函式,將一個字典以dict_items的形式返回,因為字典是無序的,所以返回的列表也是無序的: 1 a ={'a':1,'b':2,'c':3,'d':4} 2 print(a.items()) 3 》dict_items([('a', 1), ('b', 2), ('c', 3), (
python中scatter()函式用法,matplotlib畫圖
scatter函式用於繪製散點圖。 scatter函式原型 matplotlib.pyplot.scatter(x,y,s=20,c='b',maker='o',cmpa=None,norm=None,vmin=None,vax=None,alpha=None,linewi
Python中bytearray()函式的初識
簡單寫一下今天題目裡看到的知識: 關於Python的內建函式bytearray()。 今天做著LeetCode裡的小題目,發現了這個函式,當然這是大神寫的,自己寫的速度知識處於中等。題目大致如下: M
Python練習題4(列表去重):[5,3,4,'ok',4,3,'abc',8,52,'ok']去除列表中重複內容 方法一:使用set 方法二:不使用set,自己寫方法
方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗餘,先判斷元素是否重複,再將重複元素提取並儲存到新列表中,再for 新建的列表元素,刪除