python 判斷元素是否在數(shù)組中 python中的等長數(shù)組是啥?
python中的等長數(shù)組是啥?python中的列表類似于數(shù)組。您可以將數(shù)組構(gòu)造為列表類型。(列表類型比其他語言的數(shù)組函數(shù)強(qiáng)大得多)為什么有些編程語言的數(shù)組要從零開始算?目前大多數(shù)編程語言中的數(shù)組下標(biāo)都
python中的等長數(shù)組是啥?
python中的列表類似于數(shù)組。您可以將數(shù)組構(gòu)造為列表類型。
(列表類型比其他語言的數(shù)組函數(shù)強(qiáng)大得多)
為什么有些編程語言的數(shù)組要從零開始算?
目前大多數(shù)編程語言中的數(shù)組下標(biāo)都是從0開始計(jì)算的,這可能不符合人 的習(xí)慣從正整數(shù)開始計(jì)數(shù),但在計(jì)算機(jī)世界從0開始計(jì)數(shù)有其歷史原因...什么是數(shù)組數(shù)組?它是一種將幾個(gè)相同類型的元素以無序的形式組織起來的形式,以方便編程中的處理。下圖顯示了長度為10的一維數(shù)組在內(nèi)存中的存儲(chǔ)狀態(tài)。顯然,如果我們需要訪問一個(gè)數(shù)組的元素,我們通常需要知道它的索引。如何訪問數(shù)組元素可以簡單理解為訪問數(shù)組元素實(shí)際上是讀取一個(gè)內(nèi)存地址的值。從上圖可以看出,數(shù)組在內(nèi)存中是連續(xù)的,每個(gè)元素占用相同的空間。這樣我們只需要知道數(shù)組第一個(gè)元素的內(nèi)存地址,加上相應(yīng)的偏移量就可以得到一個(gè)數(shù)組元素的內(nèi)存地址。讓 讓我們看看如果第一個(gè)元素的下標(biāo)是1:Let ;S假設(shè)第一個(gè)元素的地址(第一個(gè)地址)是A,每個(gè)數(shù)組元素的大小是S,那么第二個(gè)元素的下標(biāo)是2,地址a (2-1)*s,第三個(gè)元素的下標(biāo)是3,地址a (3-2)*s,第N個(gè)元素的下標(biāo)是N,地址是A (n-)。讓 s看看如果第一個(gè)元素的下標(biāo)是0會(huì)怎么樣:第二個(gè)元素的下標(biāo)是1,地址是a 1*s,第n個(gè)元素的下標(biāo)是n-1,地址是a n * s,比較兩個(gè)公式:第一個(gè)元素下標(biāo)為1:第n個(gè)元素地址a (n-1)*s第一個(gè)元素下標(biāo)為0:第n個(gè)元素地址a n * s看出區(qū)別了嗎?如果使用0作為下標(biāo),每輸入一次location元素地址,就少了一次減法運(yùn)算!為什么要取0作為第一個(gè)元素的下標(biāo)?你可能會(huì)覺得下標(biāo)從1開始計(jì)算只有一次減法運(yùn)算,但你看看計(jì)算機(jī)的發(fā)展史就會(huì)明白,早期的編程語言設(shè)計(jì)為什么那么在意一次減法運(yùn)算。從上世紀(jì)60年代到今天的近60年間,計(jì)算設(shè)備的計(jì)算能力增長了1T倍(1萬億次)。以前看起來很的超級(jí)計(jì)算機(jī),連一部手機(jī)甚至一塊手表都比不上。從下圖可以看出,1985年Cray-2超級(jí)計(jì)算機(jī)的計(jì)算能力相當(dāng)于一臺(tái)iPhone4,一臺(tái)iWatch的計(jì)算能力相當(dāng)于兩臺(tái)iphone 4。數(shù)組是計(jì)算機(jī)程序中非常常用的數(shù)據(jù)結(jié)構(gòu)。如果每一個(gè)下標(biāo)尋址都能節(jié)省一次運(yùn)算,那么在早期的計(jì)算機(jī)系統(tǒng)中,程序的運(yùn)行速度可能會(huì)有顯著的提高,從而充分利用當(dāng)時(shí)昂貴的計(jì)算機(jī)。計(jì)算資源。出于習(xí)慣和兼容性的考慮,現(xiàn)代編程語言也延續(xù)了這種設(shè)計(jì)思路,這也是計(jì)算機(jī)常從0開始計(jì)數(shù)的原因。