色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

淺談Python中range與Numpy中arange的比較

瀏覽:2日期:2022-08-02 17:28:07

本文先比較range與arange的異同點,再詳細介紹各自的用法,然后列舉了幾個簡單的示例,最后對xrange進行了簡單的說明。

1. range與arange的比較

(1)相同點:A、參數的可選性、默認缺省值是一樣的;B、結果均包括開始值,不包括結束值; C、arange的參數為整數是,與range函數等價;D、都具備索引查找、要素截取等操作。

(2)不同點:A、range函數的參數只能為整數,arange的參數為數值型,包括整數和浮點數; B、輸出的數據類型不同,range的輸出為列表(list),arange的結果為數組(ndarray);C、range的最后一個元素,不會超過stop,而arange的最后一個元素可能會比stop的值大。

2. python中的范圍range

(1)官方文檔對range的定義為:The range type represents an immutable sequence of numbers and is commonly used for looping a specific number of times in for loops.(range代表不可變的數字序列,通常用于一定次數的循環(huán)中)。

若步長為正數,范圍r的值由公式r[i] = start + step*i確定,限制條件為i >=0、r[i] < stop;

若步長為負數,范圍r的值同樣由公式r[i] = start + step*i確定,但限制條件為i >=0、r[i] > stop;

(2)參數說明

range(start, stop[, step])

start:序列的開始值,如果缺省默認為0;

stop:序列的結束值;

step:序列的步長,缺省的默認值為1。

range中所有的參數必須為整數,必須為整數!

(3)range的其他說明

A、range相比常規(guī)list或tuple的優(yōu)勢在于,不管range代表的范圍有多大,它實際上只存儲范圍的開始、結束和步長值,它占用相同且很小的內存空間;

B、range繼承于collections.abc.Sequence,提供諸如包含內容是否相等的比較、索引查找、要素截取、支持負數索引等。

3. Numpy中的arange

(1)官方文檔中的定義:Return evenly spaced values within a given interval.(返回給定間距內返回均勻間隔的值)

Values are generated within the half-open interval [start, stop) (in other words, the interval including start but excluding stop). For integer arguments the function is equivalent to the Python built-in range function, but returns an ndarray rather than a list.(值的范圍在半開放的間隔[start, dtop)內,也就是包括start起始值,不包括stop結束值;若參數均為整數,與python中的range函數等價,但是它返回的是數組而非列表)When using a non-integer step, such as 0.1, the results will often not be consistent. It is better to use linspace for these cases.(當使用非整數步長時,比如0.1,結果經常不是一致的,在這種情況下,最好使用線性等分向量)。

(2)參數說明

numpy.range([start,] stop, [step,] dtype=None)

start:數字型,可選參數,間隔的開始值,間隔包括開始值,缺省時的默認值是0;

stop:數字型,必填參數,間隔的結束值,間隔不包括結束值,除非一些特殊情況,比如步長不是整數,浮點數的四舍五入影響到輸出的長度;

step:數組型,可選參數,間距值,對任何輸出,它是相鄰兩個值之間的差值,out[i+1] - out[i],缺省的默認值為1,如果指定間距值,開始值也必須指定。

dtype:輸出數組的類型,如果沒有指定,從輸入參數的類型推斷輸出結果的數據類型(即與輸入參數的類型保持一致)。

返回值:等間距的數組,對浮點型參數,結果的長度為 ceil((stop-start)/step),因浮點溢出,這可能導致最后一個元素大于結束值。

4、簡單的示例

In [4]: import numpy as np In [5]: r = range(5) In [6]: ar = np.arange(5) In [7]: rOut[7]: range(0, 5) In [8]: arOut[8]: array([0, 1, 2, 3, 4]) In [9]: r2 = list(range(1, 19, 2)) In [10]: r2Out[10]: [1, 3, 5, 7, 9, 11, 13, 15, 17]

In [11]: ar3 = np.arange(1, 9.0, 0.7) In [12]: ar3Out[12]:array([ 1. , 1.7, 2.4, 3.1, 3.8, 4.5, 5.2, 5.9, 6.6, 7.3, 8. , 8.7]) In [13]: ar3.dtypeOut[13]: dtype(’float64’) In [14]: ar3[3: 8]Out[14]: array([ 3.1, 3.8, 4.5, 5.2, 5.9])

5、python 2.x版本中xrange的說明

在python2.x版本中,對于非常長的范圍,建議使用xrange,其參數與range一樣,但不會預先產生所有的值,而是返回一個用于逐個產生整數的迭代器。在python3 中,range始終返回迭代器,因而沒必要再使用xrange這個函數了。

以上這篇淺談Python中range與Numpy中arange的比較就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 久久夜色精品国产噜噜亚洲a | 日韩中文字幕网站 | 欧美a级完整在线观看 | 香港三级日本三级人妇三级四 | 日本一在线中文字幕天堂 | 欧美高清一级片 | 欧美成人午夜毛片免费影院 | 精品国产网 | 中文字幕99在线精品视频免费看 | 久久精品毛片 | 日本亚洲成高清一区二区三区 | 香港三级网站 | 国产cao| 欧美一级永久免费毛片在线 | 亚洲精品一区二三区在线观看 | 国产亚洲精品一区久久 | 手机看片手机在线看片 | 精品国产成人综合久久小说 | 欧美日韩国产在线观看一区二区三区 | 高清亚洲 | 色婷婷久久综合中文久久蜜桃 | 国产精品合集一区二区 | 欧美日本亚洲国产一区二区 | aa级毛片 | 99视频久久| 免费看a级肉片 | 欧美日韩一区二区三区四区在线观看 | 欧美激情亚洲一区中文字幕 | 国产免费久久精品 | 免费一级特黄欧美大片久久网 | 亚洲国产精品一区二区九九 | 国产三香港三韩国三级不卡 | 巨乳女上司 | 97se狠狠狠狠狠亚洲综合网 | 久久99国产精品 | a级在线观看视频 | 亚洲bbbbbxxxxx精品三十七 | 中文字幕一区二区三区精品 | 九九视频精品全部免费播放 | 九色自拍视频 | 加勒比综合网 |