0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python 元組相對于數(shù)組的優(yōu)勢

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-03 11:06 ? 次閱讀

我們知道元組tuple是 Immutable (不可修改)的,而數(shù)組List是可變的,而且元組有的功能它都有,而且功能更多,應用更廣,那為什么還要保留元組呢?

1.安全共享

假設你有幾個關(guān)鍵詞比如:CAR, AIRPLANE, BOAT. 如果它是數(shù)組,要在多個對象之間進行共享,數(shù)組無法避免它在共享的時候被無意地更改,如果說這三個關(guān)鍵詞直接和數(shù)據(jù)庫中某個字段做映射,這種更改則非常危險,小則導致垃圾數(shù)據(jù)的產(chǎn)生,大則導致某些功能出現(xiàn)缺陷。

元組的好處之一就在于這里,一旦三個關(guān)鍵詞被設定為元組,則再也無法更改。非常適合用于固定關(guān)鍵詞在對象之間的共享。

2.性能優(yōu)勢

我們可以做一些性能測試:

創(chuàng)建

  1. >>>import timeit

  2. >>>print(timeit.timeit('["CAR", "AIRPLANE", "BOAT"]'))

  3. 0.0508033999999995

  4. >>>print(timeit.timeit('("CAR", "AIRPLANE", "BOAT")'))

  5. 0.013855500000001797

可以看到,元組的創(chuàng)建速度僅是數(shù)組的四分之一。

空間

  1. >>> a_tuple =("CAR","AIRPLANE","BOAT")

  2. >>> b_list =["CAR","AIRPLANE","BOAT"]

  3. >>>from sys import getsizeof

  4. >>> getsizeof(a_tuple)

  5. 72

  6. >>> getsizeof(b_list)

  7. 88

可以看到,元組比數(shù)組少占用一些空間。

3.作為函數(shù)返回值

其實Python的函數(shù)多返回值就是用tuple實現(xiàn)的。我們知道tuple有兩種定義方式,一種是不帶括號的,一種是帶括號的:

  1. my_tuple ="CAR","AIRPLANE","BOAT"

  2. my_tuple2 =("CAR","AIRPLANE","BOAT")

  3. print(type(my_tuple))#

  4. print(type(my_tuple2))#

而函數(shù)使用多返回值的時候是用逗號分隔開的,這是上述的元組第一種創(chuàng)建形式,因此,函數(shù)多返回值實際上返回的是一個元組。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3739

    瀏覽量

    64181
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4263

    瀏覽量

    62244
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84298
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    412

    瀏覽量

    25867
收藏 人收藏

    評論

    相關(guān)推薦

    Python的列表和元組兩種數(shù)據(jù)結(jié)構(gòu)區(qū)別差異分析

    前言 相信大家對于Python的列表和元組兩種數(shù)據(jù)結(jié)構(gòu)并不陌生了,如果我問大家這兩種數(shù)據(jù)結(jié)構(gòu)有什么區(qū)別呢?列表和元組都是數(shù)組,列表是動態(tài)的
    發(fā)表于 11-20 15:31 ?2095次閱讀
    <b class='flag-5'>Python</b>的列表和<b class='flag-5'>元組</b>兩種數(shù)據(jù)結(jié)構(gòu)區(qū)別差異分析

    Python元組和字典使用的基本方法

    Python學習:2、元組、字典使用的基本方法
    發(fā)表于 04-06 15:12

    無線地磁相對于地磁傳感線圈的優(yōu)勢分析

    地感線圈這一從20世紀中期就被使用的車輛檢測設備,正面遭遇了無線地磁的挑戰(zhàn)。相對于地感線圈來說,無線地磁傳感器在關(guān)鍵的數(shù)據(jù)采集、施工簡便程度都有自己的優(yōu)勢。無線地磁傳感器的優(yōu)勢地球的磁場在幾公里之內(nèi)
    發(fā)表于 05-09 21:47

    python——元組,集合,字典

    python——元組,集合,字典(tuple,set,dict)
    發(fā)表于 05-22 12:30

    SimpleWiFi相對于常見的UARTWiFi具有哪些優(yōu)勢

    工業(yè)領(lǐng)域的特點有哪些?WiFi為什么會被用于工業(yè)控制中?SimpleWiFi相對于常見的UARTWiFi具有哪些優(yōu)勢?
    發(fā)表于 07-19 08:17

    python元組

    python元組元組(英文名 tuple),和列表非常的相似,它也是由一系列元素按順序進行排列而成的容器。不同的是,元組是不可變的,而列表是可變的。1. 創(chuàng)建
    發(fā)表于 02-22 15:19

    使用RFO_LP輸出相對于RFO_HP的優(yōu)勢是什么嗎?

    我正在使用 STM32WLE5JCI6 開發(fā)硬件設計。作為參考,我正在查看項目“MB1842.PrjPcb”(參考設計)和“MB1389.PrjPcb”(Nucleo-WL55JC1 設計文件)降低功耗是使用 RFO_LP 輸出相對于 RFO_HP 的唯一優(yōu)勢嗎?
    發(fā)表于 12-08 08:42

    PLC相對于繼電器線路的優(yōu)勢

    PLC相對于繼電器線路的優(yōu)勢1、功能強,性能價格比高一臺小型PLC內(nèi)有成百上千個可供用戶使用的編程元件,有很強的功能,可以實現(xiàn)非常復雜的控制功能。與相同功能的繼電
    發(fā)表于 11-24 16:22 ?21次下載

    3GPP R4相對于R99的優(yōu)勢

    3GPP R4相對于R99的優(yōu)勢 相對于傳統(tǒng)電路交換網(wǎng)絡,軟交換網(wǎng)絡可以實現(xiàn)更簡單的目標網(wǎng)絡結(jié)構(gòu),主要是從節(jié)約運營成本、易于維護和保
    發(fā)表于 06-13 22:27 ?1131次閱讀

    桁架機器人相對于人工的優(yōu)勢

    山東康道資訊:桁架機器人相對于人工的優(yōu)勢,桁架機器人相對于人工來說,具有很高的效率和產(chǎn)品質(zhì)量穩(wěn)定性,結(jié)構(gòu)簡單更易于維護,可以滿足不同種類產(chǎn)品的生產(chǎn),對用戶來說,只需要作出有限調(diào)整,就可以很快
    發(fā)表于 12-10 15:27 ?280次閱讀

    FPGA相對于CPU和GPU而言有著比較明顯的優(yōu)勢

    FPGA相對于CPU和GPU,在進行感知處理等簡單重復的任務的時候的優(yōu)勢很明顯,按照現(xiàn)在的趨勢發(fā)展下去,F(xiàn)PGA或許會在未來取代機器人開發(fā)中GPU的工作。
    發(fā)表于 12-20 14:39 ?2526次閱讀

    數(shù)字電源相對于模擬電源有哪些優(yōu)勢

    的應用,具有可擴展性與重復使用性的作用。 數(shù)字電源相對于模擬電源的優(yōu)勢主要體現(xiàn)在: 高度集成化:數(shù)字電路的基本單元十分簡單,對元件要求也不嚴格,允許電路參數(shù)有較大的離散性,有利于將眾多的基本單元集成在同一硅片
    的頭像 發(fā)表于 08-30 14:50 ?4722次閱讀

    訪問Python元組中的元素

    元組(Tuple)是 Python 編程語言中的一種數(shù)據(jù)類型。它是一個不可變的序列,其中的元素不能被修改、添加或刪除。元組與列表(List)相似,但與列表不同的是,元組一旦創(chuàng)建,就無法
    的頭像 發(fā)表于 04-17 11:50 ?1783次閱讀

    獨立BAW振蕩器相對于石英晶體振蕩器的優(yōu)勢

    電子發(fā)燒友網(wǎng)站提供《獨立BAW振蕩器相對于石英晶體振蕩器的優(yōu)勢.pdf》資料免費下載
    發(fā)表于 08-27 11:14 ?0次下載
    獨立BAW振蕩器<b class='flag-5'>相對于</b>石英晶體振蕩器的<b class='flag-5'>優(yōu)勢</b>

    獨立BAW振蕩器-相對于石英振蕩器的優(yōu)勢

    電子發(fā)燒友網(wǎng)站提供《獨立BAW振蕩器-相對于石英振蕩器的優(yōu)勢.pdf》資料免費下載
    發(fā)表于 09-09 14:41 ?0次下載
    獨立BAW振蕩器-<b class='flag-5'>相對于</b>石英振蕩器的<b class='flag-5'>優(yōu)勢</b>