博客
关于我
Python 元组Tuple 相对于数组List的优势
阅读量:358 次
发布时间:2019-03-05

本文共 1059 字,大约阅读时间需要 3 分钟。

我们知道元组tuple是 (不可修改)的,而数组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)) #

而函数使用多返回值的时候是用逗号分隔开的,这是上述的元组第一种创建形式,因此,函数多返回值实际上返回的是一个元组。

我们的文章到此就结束啦,如果你希望我们今天的,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦有任何问题都可以在下方留言区留言,我们都会耐心解答的!


​Python实用宝典 )

不只是一个宝典
欢迎关注公众号:Python实用宝典

原文来自Python实用宝典:

Python实用宝典

转载地址:http://wqdg.baihongyu.com/

你可能感兴趣的文章
eclipse引用sun.misc开头的类
查看>>
firefox中angular2嵌套发送请求问题
查看>>
Netty 知识整理 (2)HttpServerCodec和HttpObjectAggregator用法
查看>>
【Linux】service命令
查看>>
【mysql】事务隔离与mvcc的误区
查看>>
【mybatis3】调试/断点打印日志
查看>>
【linux】pid file解读
查看>>
Leetcode 102题.从中序与后序遍历序列构造二叉树
查看>>
C++
查看>>
[CTFSHOW]PHP特性
查看>>
navigator对象
查看>>
牛牛与跷跷板
查看>>
程序员面试防坑宝典,带你手撸红黑树,一文轻松搞定
查看>>
为什么使用消息队列
查看>>
二分查找算法
查看>>
关于EFI系统分区(ESP)你应该知道的3件事
查看>>
题目总结 web 51-100
查看>>
5.Mybatis复杂映射开发
查看>>
Servlet2.5的增删改查功能分析与实现------删除功能(四)
查看>>
环境配置 jdk_mysql_myeclipse8.6
查看>>