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