我們知道元組tuple是 Immutable (不可修改)的,而數組List是可變的,而且元組有的功能它都有,而且功能更多,應用更廣,那為什么還要保留元組呢?
1.安全共享
假設你有幾個關鍵詞比如:CAR, AIRPLANE, BOAT. 如果它是數組,要在多個對象之間進行共享,數組無法避免它在共享的時候被無意地更改,如果說這三個關鍵詞直接和數據庫中某個字段做映射,這種更改則非常危險,小則導致垃圾數據的產生,大則導致某些功能出現缺陷。
元組的好處之一就在于這里,一旦三個關鍵詞被設定為元組,則再也無法更改。非常適合用于固定關鍵詞在對象之間的共享。
2.性能優勢
我們可以做一些性能測試:
創建
>>>import timeit
>>>print(timeit.timeit('["CAR", "AIRPLANE", "BOAT"]'))
0.0508033999999995
>>>print(timeit.timeit('("CAR", "AIRPLANE", "BOAT")'))
0.013855500000001797
可以看到,元組的創建速度僅是數組的四分之一。
空間
>>> a_tuple =("CAR","AIRPLANE","BOAT")
>>> b_list =["CAR","AIRPLANE","BOAT"]
>>>from sys import getsizeof
>>> getsizeof(a_tuple)
72
>>> getsizeof(b_list)
88
可以看到,元組比數組少占用一些空間。
3.作為函數返回值
其實Python的函數多返回值就是用tuple實現的。我們知道tuple有兩種定義方式,一種是不帶括號的,一種是帶括號的:
my_tuple ="CAR","AIRPLANE","BOAT"
my_tuple2 =("CAR","AIRPLANE","BOAT")
print(type(my_tuple))#
print(type(my_tuple2))#
而函數使用多返回值的時候是用逗號分隔開的,這是上述的元組第一種創建形式,因此,函數多返回值實際上返回的是一個元組。
-
數據庫
+關注
關注
7文章
3795瀏覽量
64366 -
函數
+關注
關注
3文章
4329瀏覽量
62576 -
python
+關注
關注
56文章
4793瀏覽量
84634 -
數組
+關注
關注
1文章
417瀏覽量
25940
發布評論請先 登錄
相關推薦
評論