咱们知道元组tuple是 Immutable (不可修改)的,而数组List是可变的,并且元组有的功能它都有,并且功能更多,应用更广,那为何还要保留元组呢?python
假设你有几个关键词好比:CAR, AIRPLANE, BOAT. 若是它是数组,要在多个对象之间进行共享,数组没法避免它在共享的时候被无心地更改,若是说这三个关键词直接和数据库中某个字段作映射,这种则更改很是危险,小则致使垃圾数据的产生,大则致使某些功能出现缺陷。数组
元组的好处之一就在于这里,一旦三个关键词被设定为元组,则再也没法更改。很是适合用于固定关键词在对象之间的共享。安全
咱们能够作一些性能测试:bash
建立函数
>>> 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
复制代码
能够看到,元组比数组少占用一些空间。ui
其实Python的函数多返回值就是用tuple实现的。咱们知道tuple有两种定义方式,一种是不带括号的,一种是带括号的:spa
my_tuple = "CAR", "AIRPLANE", "BOAT"
my_tuple2 = ("CAR", "AIRPLANE", "BOAT")
print(type(my_tuple)) # <class 'tuple'>
print(type(my_tuple2)) # <class 'tuple'>
复制代码
而函数使用多返回值的时候是用逗号分隔开的,这是上述的元组第一种建立形式,所以,函数多返回值实际上返回的是一个元组。code
咱们的文章到此就结束啦,若是你但愿咱们今天的Python 教程,请持续关注咱们,若是对你有帮助,麻烦在下面点一个赞/在看哦
Python实用宝典 (pythondict.com)
不仅是一个宝典
欢迎关注公众号:Python实用宝典
原文来自Python实用宝典:Python 元组Tuple 相对于数组List的优点