列表和元组的区别

列表和元组的区别列表和元组的区别 列表 list 列表一旦创建了我们就可以根据自己的需要随意改变他的内容 gt gt gt list 1 2 3 4 5 6 gt gt gt list 0 8 gt gt gt list 6 0 gt gt gt list 8 2 3 4 5 6 可以为列表添加新的数据 gt gt gt len list 查看这个列表中有多少数据 6 gt gt gt list append 7

列表和元组的区别

  1. 列表(list)

    列表一旦创建了我们就可以根据自己的需要随意改变他的内容;

    >>> list=[1,2,3,4,5,6] >>> list[0]=8 >>> list[6]=0 >>> list [8, 2, 3, 4, 5, 6] 

    可以为列表添加新的数据:

    >>> len(list) #查看这个列表中有多少数据 6 >>> list.append(7) #在列表尾插入 >>> list [8, 2, 3, 4, 5, 6, 7] >>> len(list) 7 >>> list.insert(3,10) #在列表任意位置插入数据,第一个参数表示索引,第二个参数表示插入的数据 >>> list [8, 2, 3, 10, 4, 5, 6, 7] >>> 

​ 这是因为list支持resize操作,当有新的数据添加进入列表时,如果大于当前的容量,就会开辟新的list,将原有的元素复制到新的list中,然后将原有的list删除。

注意 利用切片取得的数据类型还会是list

>>> type(list[:2]) 
   
  
  1. 元组(Tuple)

    元组是固定不可变的。这意味着一但元组被声明,他的内容无法被修改,大小也无法改变。

    >>> tuple=(1,2,3,4) >>> tuple (1, 2, 3, 4) >>> tuple[2] 3 >>> tuple[2]=8 Traceback (most recent call last): File " 
        
          ", line 1, in 
         
           tuple[2]=8 TypeError: 'tuple' object does not support item assignment 
          
        

    虽然tuple不支持改变大小,但是我们可以将两个tuple合并起来。

    >>> t=(5,6,8,6) >>> t+tuple (5, 6, 8, 6, 1, 2, 3, 4) 

    与list.append比较list添加元素的时间复杂读为O(1),而tuple这种方式的时间复杂度为O(n)

  2. 总结
    1. 列表是动态数组,它们不可变且可以重设长度(改变其内部元素的个数)。
    2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
    3. 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

 

 

列表元组字典的一些区别

1、列表list:有序,可变。

2、元组tuple:有序,不可变。

3、字典dict:无序,字典的key是不可变的,值是可变的;在python中字符串,数字,元组都是不可变的对象。

4、序列:列表,元组和字符串都序列;即成员有序排列,可以通过下标访问,可以进行切片操作。字符串(普通字符串和unicode字符串)

5、集合:没有顺序的简单对象的聚集。可以检查成员是否存在,是否是另一个集合的子集,得到两个集合的交集等等

6、复制一个列表或者类似的序列或者其他复杂对象,那么必须使用切片操作符来去的拷贝。当你创建一个对象并将它赋值给一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201988.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:08
下一篇 2026年3月20日 上午8:08


相关推荐

  • Hook技术看这篇就够了[通俗易懂]

    Hook技术看这篇就够了[通俗易懂]   相信很多搞机的朋友都玩过Xposed,它实现了很多不可思议的功能。它是怎么实现的呢?这里就得提到我们的Hook技术了。    关于Android中的Hook机制,大致有两个方式: 要root权限,直接Hook系统,可以干掉所有的App。 免root权限,但是只能Hook自身,对系统其它App无能为力。   时间所限,这里不展开了。   知识点: …

    2022年5月9日
    160
  • java Integer范围详解

    java Integer范围详解Integer 包装类在一定范围内生成的对象是相等的 在范围外则是不等的 这个范围是 128 128 publicstatic String args Integera 4 Integerb 4 System out println a b true Integerc 159 Integerd 159 System out println c d false 这里我们要注意 1 I

    2026年3月19日
    2
  • 无锁编程入门「建议收藏」

    无锁编程入门「建议收藏」无锁编程入门本文档的最后也说了,确实是简单介绍,本身需要参考很多其他链接的东西。有翻译不对的地方请帮忙指出来。谢谢。文章中红色字体是我自己加的。原文地址:http://preshing.com/20120612/an-introduction-to-lock-free-programming无锁编程是一个挑战,不只是因为任务本身的复杂度,还由于《 butbecauseo

    2022年6月6日
    35
  • swal弹窗_swal() 弹出删除确认框

    swal弹窗_swal() 弹出删除确认框删除 functiondel varid varrow map DataList bootstrapTab getSelection function row id row Id returnrow if row null row length lt 0 swal 提示信息 请选择要删除的记

    2026年3月17日
    2
  • 零Token更安全!铭凡N5 MAX 内置本地OpenClaw,引领 NAS 行业全新突破

    零Token更安全!铭凡N5 MAX 内置本地OpenClaw,引领 NAS 行业全新突破

    2026年3月13日
    1
  • 如何画UML类图

    如何画UML类图简单介绍统一建模语言 UnifiedModel UML 是用来设计软件蓝图的可视化建模语言 面向对象的建模语言的国际标准 它的特点是简单 统一 图形化 能表达软件设计中的动态与静态信息 类 接口 类图类类 Class 是指具有相同属性 方法和关系的对象的抽象 它封装了数据和行为 是面向对象程序设计 OOP 的基础 具有封装性 继承性和多态性等三大特性 在 UML 中 类使用包含类名 属性和操作且带有分隔线的矩形来表示 类名类名 Name 是一个字符串 例如

    2025年12月12日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号