热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python中的四种容器

列表list1、说明:列表语法结构:它是通过方括号括起来的数据序列,也可以进行重复数据的存放。、例如实验:给b列表
  • 列表list

1、说明:列表语法结构:它是通过方括号括起来的数据序列,也可以进行重复数据的存放。

<1>、例如实验&#xff1a;给b列表数据&#xff0c;并且进行查看&#xff1a;

<2>、由于列表本身也是属于对象&#xff0c;所以&#xff0c;列表也可以进行嵌套处理&#xff1a;

<3>、列表数据的查看&#xff0c;可以直接查看所有序列&#xff0c;也可以通过索引下标来查看&#xff08;注意&#xff1a;下标与C语言一样&#xff0c;从0开始标记&#xff09;&#xff1a;

语法格式&#xff1a;列表名称[下标]。如&#xff1a;

<4>、也可以多级访问到列表内部。

2、列表常用方法

<1>、append

在列表中追加数据&#xff1a;append( )&#xff08;注意&#xff1a;append是在列表的末尾处追加&#xff01;&#xff09;

<2>、insert&#xff08;index&#xff0c;data&#xff09;&#xff08;注&#xff1a;index是下标号&#xff0c;data是所要插入的数据&#xff09;

在列表中指定位置&#xff0c;&#xff08;第一参数代表就是要插入数据的索引位&#xff09;&#xff0c;追加数据&#xff1a;insert( )

相当于在特定的位置添加新的数据。

<3>、pop( )&#xff08;与append相对应&#xff09;

删除表末尾的元素&#xff1a;pop( )

<4>、pop(index)   &#xff08;与insert相对应&#xff09;

删除列表中指定位置的元素&#xff1a;pop( )

<5>、reverse( )

将列表里的元素进行前后顺序调换&#xff08;翻转&#xff09;&#xff1a;reverse ( )

<6>、clear( )

将列表清空&#xff1a;clear( )

<7>、remove( )

通过元素本身将元素移除列表&#xff0c;并不是通过下标来移除。remove( )

 

<8>、sort( )

将列表里元素排序按照ASCII表进行排序。sort( )

<9>、copy( )

复制列表里的元素

例如&#xff1a;c &#61; a.copy  #浅拷贝

#浅拷贝&#xff1a;将原对象或原数组的引用直接赋值给新对象&#xff0c;新数组&#xff0c;新对象/新数组只是原对象的一个引用。

#深拷贝&#xff1a;创建一个新的对象和数组&#xff0c;将原对象的各项属性的“值”&#xff08;数组的所有元素&#xff09;拷贝过来&#xff0c;是“值”&#xff0c;而不是“引用”。

<10>、extend( )

继承&#xff0c;合并列表。

<11>、del(变量)

删除某一变量&#xff0c;再次引用变量时会报错。

 

<12>、list遍历  for来遍历容器

<13>、set( )

         去重。&#xff08;前后列表类型不发生变化&#xff09;


  • 集合set

1、说明&#xff1a;集合set&#xff0c;与列表类似&#xff0c;但是&#xff0c;集合不能存储重复的数据&#xff1b;注意&#xff1a;集合set中存放的数据是不能重复的&#xff0c;并且是没有存放顺序的&#xff0c;也就是没有下标的。

语法&#xff1a;使用的是一对大括号/花括号包含起来的一组数据。

         列表也是可以转化为集合&#xff0c;语法&#xff1a;变量 &#61; set&#xff08;[ 列表]&#xff09;

2、集合常用方法&#xff1a;

<1>、add( )

在集合中增加数据&#xff1a;add ( )

<2>、clear( )

将列表清空&#xff08;与上述列表list用法一样&#xff09;

<3>、copy( )

复制列表里的元素&#xff08;与上述列表list用法一样&#xff09;

<4>、pop( )

随机移除元素&#xff08;与上述列表list用法一样&#xff09;

<5>、remove( )

移除集合中的指定元素&#xff08;与上述列表list用法 一样&#xff09;

<6>、intersection( )

取交集&#xff08;与数学中一样&#xff09;A.intersection(B)

<7>、difference( )

差集&#xff08;与数学中的不一样&#xff0c;它是指相对于某一个集合的不同之处&#xff09;

<8>、unio(并集)

将两个或几个集合里的元素并起来


  • 元组tupl

1、说明&#xff1a;元组是固定的&#xff0c;一系列值&#xff08;不可变数据类型&#xff09;

         元组在Python中&#xff0c;其实是列表的一种特殊的形式&#xff0c;如果一旦创建&#xff0c;就不允许改变。

         语法结构&#xff1a;使用一对圆括号包含起来的一组数据&#xff0c;可以村存放重复数据&#xff0c;并且可以通过索引来查找相对应的值。

<1>、count( )

统计元素出现的次数。A.count(元素)

<2>、index( )

查找元素在列表中的位置&#xff08;如果有重复元素&#xff0c;在查找位置时&#xff0c;先扫描到哪一个&#xff0c;就报哪一个元素的位置&#xff09;&#xff0c;注意&#xff0c;如果元素不在列表中就会报错。

<3>、在Python中&#xff0c;如果只有一个元素&#xff0c;并且该元素是一个数字&#xff0c;则需要在末尾加上一个逗号来表示该变量是元组&#xff0c;而不是int类型的数字。

 


  • 字典dict

         为了方便数据在组合数据类型中的管理&#xff0c;Python还提供了一种特殊存存储数据的组合数据类型&#xff1a;字典。它是通过key-value键值对的形式来存储数据&#xff0c;可以很方便的通过key来对value进行增删改查的操作。

         语法结构&#xff1a;

         字典变量名称&#61;{“变量1”:”值”:”变量2”:”值2”,……}

         定义的时候以键值对的形式定义存在&#xff0c;相当于给每个值取了个名字&#xff0c;类似于外号。

用法&#xff1a;

<1>、get( )

查询字典中的数据&#xff0c;我们可以通过名称去键来查找值&#xff0c;使用方括号或者get()函数&#xff1a;

<2>、修改字典中的指定数据&#xff0c;就可以根据通过指定的key直接赋值就能修改&#xff1a;

格式&#xff1a;A[“变量”]&#61;”值”

<3>、pop( )

删除字典中的数据&#xff0c;通过删除指定的key对应的数据即可删除

<4>、clear( )   #与上述用法一样

<5>、copy( )    #与上述用法一样

<6>、popitem( )

从末尾开始删除一个键值对。&#xff08;图中应该是从末尾开始删除一个键值对&#xff0c;标记错了&#xff09;

字典中遍历的三种方法&#xff1a;

<1>、keys( )

#遍历所有键值。

<2>、values( )

#遍历所有键值所对应的值。

<3>、itmes( )

#遍历所有键值对。&#xff08;键值&#xff1a;键值对&#xff09;

四种数据类型的比较


  1. 元组Tuple是存放固定的数据
  2. 集合set中的数据插入和遍历的时间&#xff0c;随数据的增多而变慢
  3. 列表List中的数据插入和查询的时间&#xff0c;随数据的增多而变慢
  4. 字典Ddict中的数据插入和查询的速度非常快&#xff0c;不会因为数据太多而变慢

         元组、集合和列表占用内存较少&#xff0c;字典占用内存较多&#xff0c;字典是一种通过占用空间来换取操作速度的一种数据类型。

 

 


推荐阅读
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ... [详细]
  • 本文详细介绍了C语言中链表的两种动态创建方法——头插法和尾插法,包括具体的实现代码和运行示例。通过这些内容,读者可以更好地理解和掌握链表的基本操作。 ... [详细]
  • 本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • 本文详细探讨了C语言中指针的概念,特别是指针在变量和数组中的应用。通过实例讲解,帮助读者更好地掌握指针的使用方法。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
author-avatar
曼珠沙華的朦朧_759
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有