最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python之關(guān)于數(shù)組和列表的區(qū)別及說(shuō)明

 更新時(shí)間:2023年05月22日 15:28:17   作者:季布,  
這篇文章主要介紹了python之關(guān)于數(shù)組和列表的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python數(shù)組和列表的區(qū)別

列表和數(shù)組的定義

  • 列表用于順序存儲(chǔ)結(jié)構(gòu)。它可以方便、高效的的添加刪除元素,并且列表中的元素可以是多種類型。
  • 數(shù)組是一個(gè)同一類型的數(shù)據(jù)的有限集合。

數(shù)組是什么?

數(shù)組(Array)是一種線性表數(shù)據(jù)結(jié)構(gòu)。它用一組連續(xù)的內(nèi)存,來(lái)存儲(chǔ)一組具有相同類型的數(shù)據(jù)。

  • 優(yōu)點(diǎn):數(shù)組地址是連續(xù)的會(huì)給我們查找數(shù)據(jù)提供了極大的方便,讓我們很容易的就能根據(jù)下標(biāo)找到你需要的數(shù)據(jù),提高了查詢效率
  • 缺點(diǎn):畢竟我們對(duì)數(shù)組的運(yùn)用不只是查找數(shù)據(jù),還有增加數(shù)據(jù),插入數(shù)據(jù),刪除數(shù)據(jù)等一些操作;由于數(shù)組的特殊性,使得我們?cè)谶M(jìn)行這些操作的時(shí)候不能對(duì)其進(jìn)行直接操作,還要重新開辟一個(gè)新的數(shù)組并使其長(zhǎng)度增加來(lái)存放數(shù)據(jù),這樣的工作模式給我們帶來(lái)了很大的不便,影響了效率

**用線性表存儲(chǔ)的數(shù)據(jù)有兩個(gè)特點(diǎn)

  • 存儲(chǔ)的數(shù)據(jù)本身的類型一定保持相同,是int型就都是int型,是結(jié)構(gòu)體就都是一種結(jié)構(gòu)體。
  • 數(shù)據(jù)一旦用線性表存儲(chǔ),各個(gè)數(shù)據(jù)元素之間的相對(duì)位置就固定了。

形象地來(lái)看,線性表就是數(shù)據(jù)排成像一條線一樣的結(jié)構(gòu),并且最多只有前和后兩個(gè)方向。數(shù)組、鏈表隊(duì)列、棧等都是線性表結(jié)構(gòu)。

與其對(duì)立的概念是非線性表,如二叉樹、堆等。在非線性表中,數(shù)據(jù)之間并不是簡(jiǎn)單的前后關(guān)系。

將列表當(dāng)做堆棧使用

列表方法使得列表可以很方便的作為一個(gè)堆棧來(lái)使用,堆棧作為特定的數(shù)據(jù)結(jié)構(gòu),最先進(jìn)入的元素最后一個(gè)被釋放(后進(jìn)先出)。

用 append() 方法可以把一個(gè)元素添加到堆棧頂。

用不指定索引的 pop() 方法可以把一個(gè)元素從堆棧頂釋放出來(lái)

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

將列表當(dāng)作隊(duì)列使用

也可以把列表當(dāng)做隊(duì)列用,只是在隊(duì)列里第一加入的元素,第一個(gè)取出來(lái);但是拿列表用作這樣的目的效率不高。在列表的最后添加或者彈出元素速度快,然而在列表里插入或者從頭部彈出速度卻不快(因?yàn)樗衅渌脑囟嫉靡粋€(gè)一個(gè)地移動(dòng))。

相同點(diǎn):

  • 都可以根據(jù)索引來(lái)取其中的元素;

不同點(diǎn):

  • 列表list中的元素的數(shù)據(jù)類型可以不一樣。數(shù)組array里的元素的數(shù)據(jù)類型必須一樣;
  • 列表list不可以進(jìn)行數(shù)學(xué)四則運(yùn)算,數(shù)組array可以進(jìn)行數(shù)學(xué)四則運(yùn)算;
  • 相對(duì)于array,列表會(huì)使用更多的存儲(chǔ)空間。
import numpy as np
list1=[1,'a','index']  #list1是列表類型
list2 = np.array([1,2,3,4])  #list2是數(shù)組類型
print("list",list1,list1[0],'\n','array',list2,list2[0])
結(jié)果
打印結(jié)果:
list [1,'a','index'] 1 
array [1 2 3 4] 1

python數(shù)組和列表相互轉(zhuǎn)化

  • 數(shù)組轉(zhuǎn)化為列表:b=array.tolist()  (把數(shù)組array轉(zhuǎn)化為列表b)
  • 列表轉(zhuǎn)化為數(shù)組:a=np.array(list)  (把列表lis轉(zhuǎn)化為數(shù)組a)

具體代碼如下:

import numpy as np
#1.隨機(jī)生成一個(gè)數(shù)組a
a=np.random.randn(4,3)
print(a)
print(type(a))
#輸出結(jié)果如下:
[[-1.95210222  2.68035264  1.16203014]
 [ 0.38123208  0.2106927   0.44987349]
 [-0.60820225 -0.80682695 -0.32048555]
 [-1.08573498  0.30206573 -0.79167439]]
<class 'numpy.ndarray'>
#2.數(shù)組a轉(zhuǎn)化為列表b
b=a.tolist()
print(b)
print(type(b))
#輸出結(jié)果如下:
[[-1.9521022160725312, 2.6803526394133774, 1.1620301390678258], [0.3812320771527832, 0.2106926970310233, 0.4498734879610045], [-0.6082022489361179, -0.8068269457410441, -0.3204855537284452], [-1.0857349768436102, 0.3020657339426819, -0.7916743865958161]]
<class 'list'>
#3.列表b轉(zhuǎn)化為數(shù)組c
c=np.array(b)
print(c)
print(type(c))
#輸出結(jié)果如下:
[[-1.95210222  2.68035264  1.16203014]
 [ 0.38123208  0.2106927   0.44987349]
 [-0.60820225 -0.80682695 -0.32048555]
 [-1.08573498  0.30206573 -0.79167439]]
<class 'numpy.ndarray'>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法

    Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法

    今天小編就為大家分享一篇Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • pytz格式化北京時(shí)間多出6分鐘問(wèn)題的解決方法

    pytz格式化北京時(shí)間多出6分鐘問(wèn)題的解決方法

    這篇文章主要給大家介紹了關(guān)于pytz格式化北京時(shí)間多出6分鐘問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Conda創(chuàng)建新環(huán)境的詳細(xì)圖文教程

    Conda創(chuàng)建新環(huán)境的詳細(xì)圖文教程

    Anaconda功能龐大,其可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,下面這篇文章主要給大家介紹了關(guān)于Conda創(chuàng)建新環(huán)境的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 2024最新Pytorch安裝圖文教程(Anaconda+GPU)

    2024最新Pytorch安裝圖文教程(Anaconda+GPU)

    本文詳細(xì)介紹了如何使用Anaconda創(chuàng)建虛擬環(huán)境,并在該環(huán)境中安裝CUDA和cuDNN,最后安裝支持GPU的PyTorch,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-11-11
  • Python pymysql模塊安裝并操作過(guò)程解析

    Python pymysql模塊安裝并操作過(guò)程解析

    這篇文章主要介紹了Python pymysql模塊安裝并操作過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python中Turtle庫(kù)繪圖超詳細(xì)指南

    Python中Turtle庫(kù)繪圖超詳細(xì)指南

    這篇文章主要介紹了Python中Turtle庫(kù)繪圖的相關(guān)資料,turtle庫(kù)是Python內(nèi)置的標(biāo)準(zhǔn)庫(kù),通過(guò)控制一個(gè)虛擬海龜在屏幕上移動(dòng),留下軌跡,從而繪制出各種形狀,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • Linux下通過(guò)python訪問(wèn)MySQL、Oracle、SQL Server數(shù)據(jù)庫(kù)的方法

    Linux下通過(guò)python訪問(wèn)MySQL、Oracle、SQL Server數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了Linux下通過(guò)python訪問(wèn)MySQL、Oracle、SQL Server數(shù)據(jù)庫(kù)的方法,需要的朋友可以參考下
    2016-04-04
  • matplotlib共享坐標(biāo)軸的實(shí)現(xiàn)(X或Y坐標(biāo)軸)

    matplotlib共享坐標(biāo)軸的實(shí)現(xiàn)(X或Y坐標(biāo)軸)

    在作圖的過(guò)程中,我們經(jīng)常會(huì)遇到子圖共用坐標(biāo)軸的情況,或是共用橫軸標(biāo)軸,也可能是縱坐標(biāo)軸。本文就介紹了matplotlib共享坐標(biāo)軸,感興趣的可以了解一下
    2021-05-05
  • Python基于stuck實(shí)現(xiàn)scoket文件傳輸

    Python基于stuck實(shí)現(xiàn)scoket文件傳輸

    這篇文章主要介紹了Python基于stuck實(shí)現(xiàn)scoket文件傳輸,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python os庫(kù)常用操作代碼匯總

    Python os庫(kù)常用操作代碼匯總

    這篇文章主要介紹了Python os庫(kù)常用操作代碼匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論

秭归县| 德州市| 婺源县| 祥云县| 韩城市| 柘荣县| 普安县| 新龙县| 临安市| 永清县| 莎车县| 苗栗市| 平山县| 龙川县| 远安县| 新巴尔虎右旗| 丰顺县| 晴隆县| 崇左市| 宝应县| 佛教| 家居| 滨州市| 平昌县| 岳西县| 施甸县| 金乡县| 周至县| 东丽区| 松桃| 临泉县| 武邑县| 铜山县| 南靖县| 鲁山县| 龙海市| 云霄县| 武乡县| 安龙县| 文登市| 法库县|