0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python 元组相对于数组的优势

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-03 11:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们知道元组tuple是 Immutable (不可修改)的,而数组List是可变的,而且元组有的功能它都有,而且功能更多,应用更广,那为什么还要保留元组呢?

1.安全共享

假设你有几个关键词比如:CAR, AIRPLANE, BOAT. 如果它是数组,要在多个对象之间进行共享,数组无法避免它在共享的时候被无意地更改,如果说这三个关键词直接和数据库中某个字段做映射,这种更改则非常危险,小则导致垃圾数据的产生,大则导致某些功能出现缺陷。

元组的好处之一就在于这里,一旦三个关键词被设定为元组,则再也无法更改。非常适合用于固定关键词在对象之间的共享。

2.性能优势

我们可以做一些性能测试:

创建

  1. >>>import timeit

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

  3. 0.0508033999999995

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

  5. 0.013855500000001797

可以看到,元组的创建速度仅是数组的四分之一。

空间

  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

可以看到,元组比数组少占用一些空间。

3.作为函数返回值

其实Python的函数多返回值就是用tuple实现的。我们知道tuple有两种定义方式,一种是不带括号的,一种是带括号的:

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

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

  3. print(type(my_tuple))#

  4. print(type(my_tuple2))#

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67738
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66843
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89588
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    27114
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Python的列表和元组两种数据结构区别差异分析

    前言 相信大家对于Python的列表和元组两种数据结构并不陌生了,如果我问大家这两种数据结构有什么区别呢?列表和元组都是数组,列表是动态的
    发表于 11-20 15:31 2609次阅读
    <b class='flag-5'>Python</b>的列表和<b class='flag-5'>元组</b>两种数据结构区别差异分析

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

    Python学习:2、元组、字典使用的基本方法
    发表于 04-06 15:12

    无线地磁相对于地磁传感线圈的优势分析

    地感线圈这一从20世纪中期就被使用的车辆检测设备,正面遭遇了无线地磁的挑战。相对于地感线圈来说,无线地磁传感器在关键的数据采集、施工简便程度都有自己的优势。无线地磁传感器的优势地球的磁场在几公里之内
    发表于 05-09 21:47

    python——元组,集合,字典

    python——元组,集合,字典(tuple,set,dict)
    发表于 05-22 12:30

    SimpleWiFi相对于常见的UARTWiFi具有哪些优势

    工业领域的特点有哪些?WiFi为什么会被用于工业控制中?SimpleWiFi相对于常见的UARTWiFi具有哪些优势
    发表于 07-19 08:17

    使用RFO_LP输出相对于RFO_HP的优势是什么吗?

    我正在使用 STM32WLE5JCI6 开发硬件设计。作为参考,我正在查看项目“MB1842.PrjPcb”(参考设计)和“MB1389.PrjPcb”(Nucleo-WL55JC1 设计文件)降低功耗是使用 RFO_LP 输出相对于 RFO_HP 的唯一优势吗?
    发表于 12-08 08:42

    PLC相对于继电器线路的优势

    PLC相对于继电器线路的优势1、功能强,性能价格比高一台小型PLC内有成百上千个可供用户使用的编程元件,有很强的功能,可以实现非常复杂的控制功能。与相同功能的继电
    发表于 11-24 16:22 21次下载

    3GPP R4相对于R99的优势

    3GPP R4相对于R99的优势 相对于传统电路交换网络,软交换网络可以实现更简单的目标网络结构,主要是从节约运营成本、易于维护和保
    发表于 06-13 22:27 1296次阅读

    桁架机器人相对于人工的优势

    山东康道资讯:桁架机器人相对于人工的优势,桁架机器人相对于人工来说,具有很高的效率和产品质量稳定性,结构简单更易于维护,可以满足不同种类产品的生产,对用户来说,只需要作出有限调整,就可以很快
    发表于 12-10 15:27 419次阅读

    FPGA相对于CPU和GPU而言有着比较明显的优势

    FPGA相对于CPU和GPU,在进行感知处理等简单重复的任务的时候的优势很明显,按照现在的趋势发展下去,FPGA或许会在未来取代机器人开发中GPU的工作。
    发表于 12-20 14:39 2822次阅读

    数字电源相对于模拟电源有哪些优势

    的应用,具有可扩展性与重复使用性的作用。 数字电源相对于模拟电源的优势主要体现在: 高度集成化:数字电路的基本单元十分简单,对元件要求也不严格,允许电路参数有较大的离散性,有利于将众多的基本单元集成在同一硅片
    的头像 发表于 08-30 14:50 5269次阅读

    访问Python元组中的元素

    元组(Tuple)是 Python 编程语言中的一种数据类型。它是一个不可变的序列,其中的元素不能被修改、添加或删除。元组与列表(List)相似,但与列表不同的是,元组一旦创建,就无法
    的头像 发表于 04-17 11:50 2505次阅读

    独立BAW振荡器相对于石英晶体振荡器的优势

    电子发烧友网站提供《独立BAW振荡器相对于石英晶体振荡器的优势.pdf》资料免费下载
    发表于 08-27 11:14 0次下载
    独立BAW振荡器<b class='flag-5'>相对于</b>石英晶体振荡器的<b class='flag-5'>优势</b>

    独立BAW振荡器-相对于石英振荡器的优势

    电子发烧友网站提供《独立BAW振荡器-相对于石英振荡器的优势.pdf》资料免费下载
    发表于 09-09 14:41 0次下载
    独立BAW振荡器-<b class='flag-5'>相对于</b>石英振荡器的<b class='flag-5'>优势</b>

    智驾感知系统中立体视觉相对于LiDAR的性能优势

    上一篇我们引用马斯克对于智驾感知的观点,以及分享了LiDAR与双目立体视觉的原理技术知识,下面我们详细介绍一下立体视觉相对于LiDAR的性能优势
    的头像 发表于 11-11 10:58 1445次阅读
    智驾感知系统中立体视觉<b class='flag-5'>相对于</b>LiDAR的性能<b class='flag-5'>优势</b>