我們知道元組tuple是 Immutable (不可修改)的,而數(shù)組List是可變的,而且元組有的功能它都有,而且功能更多,應(yīng)用更廣,那為什么還要保留元組呢?
1.安全共享
假設(shè)你有幾個(gè)關(guān)鍵詞比如:CAR, AIRPLANE, BOAT. 如果它是數(shù)組,要在多個(gè)對象之間進(jìn)行共享,數(shù)組無法避免它在共享的時(shí)候被無意地更改,如果說這三個(gè)關(guān)鍵詞直接和數(shù)據(jù)庫中某個(gè)字段做映射,這種更改則非常危險(xiǎn),小則導(dǎo)致垃圾數(shù)據(jù)的產(chǎn)生,大則導(dǎo)致某些功能出現(xiàn)缺陷。
元組的好處之一就在于這里,一旦三個(gè)關(guān)鍵詞被設(shè)定為元組,則再也無法更改。非常適合用于固定關(guān)鍵詞在對象之間的共享。
2.性能優(yōu)勢
我們可以做一些性能測試:
創(chuàng)建
>>>import timeit
>>>print(timeit.timeit('["CAR", "AIRPLANE", "BOAT"]'))
0.0508033999999995
>>>print(timeit.timeit('("CAR", "AIRPLANE", "BOAT")'))
0.013855500000001797
可以看到,元組的創(chuàng)建速度僅是數(shù)組的四分之一。
空間
>>> a_tuple =("CAR","AIRPLANE","BOAT")
>>> b_list =["CAR","AIRPLANE","BOAT"]
>>>from sys import getsizeof
>>> getsizeof(a_tuple)
72
>>> getsizeof(b_list)
88
可以看到,元組比數(shù)組少占用一些空間。
3.作為函數(shù)返回值
其實(shí)Python的函數(shù)多返回值就是用tuple實(shí)現(xiàn)的。我們知道tuple有兩種定義方式,一種是不帶括號的,一種是帶括號的:
my_tuple ="CAR","AIRPLANE","BOAT"
my_tuple2 =("CAR","AIRPLANE","BOAT")
print(type(my_tuple))#
print(type(my_tuple2))#
而函數(shù)使用多返回值的時(shí)候是用逗號分隔開的,這是上述的元組第一種創(chuàng)建形式,因此,函數(shù)多返回值實(shí)際上返回的是一個(gè)元組。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
數(shù)據(jù)庫
-
函數(shù)
-
python
-
數(shù)組
相關(guān)推薦
前言 相信大家對于Python的列表和元組兩種數(shù)據(jù)結(jié)構(gòu)并不陌生了,如果我問大家這兩種數(shù)據(jù)結(jié)構(gòu)有什么區(qū)別呢?列表和元組都是數(shù)組,列表是動(dòng)態(tài)的
發(fā)表于 11-20 15:31
?2167次閱讀
Python學(xué)習(xí):2、元組、字典使用的基本方法
發(fā)表于 04-06 15:12
地感線圈這一從20世紀(jì)中期就被使用的車輛檢測設(shè)備,正面遭遇了無線地磁的挑戰(zhàn)。相對于地感線圈來說,無線地磁傳感器在關(guān)鍵的數(shù)據(jù)采集、施工簡便程度都有自己的優(yōu)勢。無線地磁傳感器的優(yōu)勢地球的磁場在幾公里之內(nèi)
發(fā)表于 05-09 21:47
python——元組,集合,字典(tuple,set,dict)
發(fā)表于 05-22 12:30
工業(yè)領(lǐng)域的特點(diǎn)有哪些?WiFi為什么會被用于工業(yè)控制中?SimpleWiFi相對于常見的UARTWiFi具有哪些優(yōu)勢?
發(fā)表于 07-19 08:17
python元組元組(英文名 tuple),和列表非常的相似,它也是由一系列元素按順序進(jìn)行排列而成的容器。不同的是,元組是不可變的,而列表是可變的。1. 創(chuàng)建
發(fā)表于 02-22 15:19
我正在使用 STM32WLE5JCI6 開發(fā)硬件設(shè)計(jì)。作為參考,我正在查看項(xiàng)目“MB1842.PrjPcb”(參考設(shè)計(jì))和“MB1389.PrjPcb”(Nucleo-WL55JC1 設(shè)計(jì)文件)降低功耗是使用 RFO_LP 輸出相對于 RFO_HP 的唯一優(yōu)勢嗎?
發(fā)表于 12-08 08:42
PLC相對于繼電器線路的優(yōu)勢1、功能強(qiáng),性能價(jià)格比高一臺小型PLC內(nèi)有成百上千個(gè)可供用戶使用的編程元件,有很強(qiáng)的功能,可以實(shí)現(xiàn)非常復(fù)雜的控制功能。與相同功能的繼電
發(fā)表于 11-24 16:22
?21次下載
3GPP R4相對于R99的優(yōu)勢
相對于傳統(tǒng)電路交換網(wǎng)絡(luò),軟交換網(wǎng)絡(luò)可以實(shí)現(xiàn)更簡單的目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu),主要是從節(jié)約運(yùn)營成本、易于維護(hù)和保
發(fā)表于 06-13 22:27
?1146次閱讀
山東康道資訊:桁架機(jī)器人相對于人工的優(yōu)勢,桁架機(jī)器人相對于人工來說,具有很高的效率和產(chǎn)品質(zhì)量穩(wěn)定性,結(jié)構(gòu)簡單更易于維護(hù),可以滿足不同種類產(chǎn)品的生產(chǎn),對用戶來說,只需要作出有限調(diào)整,就可以很快
發(fā)表于 12-10 15:27
?289次閱讀
FPGA相對于CPU和GPU,在進(jìn)行感知處理等簡單重復(fù)的任務(wù)的時(shí)候的優(yōu)勢很明顯,按照現(xiàn)在的趨勢發(fā)展下去,F(xiàn)PGA或許會在未來取代機(jī)器人開發(fā)中GPU的工作。
發(fā)表于 12-20 14:39
?2575次閱讀
的應(yīng)用,具有可擴(kuò)展性與重復(fù)使用性的作用。 數(shù)字電源相對于模擬電源的優(yōu)勢主要體現(xiàn)在: 高度集成化:數(shù)字電路的基本單元十分簡單,對元件要求也不嚴(yán)格,允許電路參數(shù)有較大的離散性,有利于將眾多的基本單元集成在同一硅片
發(fā)表于 08-30 14:50
?4811次閱讀
元組(Tuple)是 Python 編程語言中的一種數(shù)據(jù)類型。它是一個(gè)不可變的序列,其中的元素不能被修改、添加或刪除。元組與列表(List)相似,但與列表不同的是,元組一旦創(chuàng)建,就無法
發(fā)表于 04-17 11:50
?1976次閱讀
電子發(fā)燒友網(wǎng)站提供《獨(dú)立BAW振蕩器相對于石英晶體振蕩器的優(yōu)勢.pdf》資料免費(fèi)下載
發(fā)表于 08-27 11:14
?0次下載
電子發(fā)燒友網(wǎng)站提供《獨(dú)立BAW振蕩器-相對于石英振蕩器的優(yōu)勢.pdf》資料免費(fèi)下載
發(fā)表于 09-09 14:41
?0次下載
評論