python的列表、元组与字典

本文深入解析Python中的容器数据结构,包括列表、元组、字典等,探讨其特性、操作及应用场景,适合Python初学者和进阶者阅读。

python支持一种数据结构的基本概念,即容器(container)。容器基本上就是包含其他对象的对象。两种主要的容器就是序列(如列表和元组)与映射(如字典)。在序列中,每个元素都有编号,这个编号我们也可以称之为索引,从0开始递增。而在映射中,每个元素都有名称(也叫做键)。

列表(List)

列表的特点就是可以修改,而且列表里面啥都能装,其中的元素是有序的。

如上图所示,列表的操作支持索引、切片,还有可以根据步长来输出特定的元素。另外需要注意的是列表是利用[ ]表示的。在切片访问的时候,其索引值是“左闭右开”的,而且支持负值索引的访问。其中索引值-1代表最后一位。

列表的大小和内容可以随意改变,在插入、删除、修改元素时,不需要建立一份新的列表拷贝,而是在原来的内存地址上直接修改。

对于添加元素的三个函数,append方法只能在尾部加入;insert方法可以在任意位置加入,如果指定的索引值大于序列的总长度,则自动加到末尾;extend方法则可以在尾部一次性加入多个元素。

对于删除来说,pop是删除末端的一个元素,其实就是出栈;而remove函数是删除指定的一个值,注意它一次也只能删除一个;还有一个内置方法del,可以一次性删除所有的元素,也可以按照切片的方法删除指定的元素。

这些方法都是不返回任何值的,它们都是就地修改,返回值是None。所以你看到上 面的示例,没有任何值。

元组(tuple)

元组就是不可变的列表。注意它的定义是( )。

元组的创建很简单,只要几个逗号分割数值,就是一个元组了。而如果只有一个值时,只要有逗号,也是元组,而且就算只有一个值,在后面也必须有逗号。

函数format就是通过{}和:代替以前的%,增强了字符串格式化的功能。

字典

字典和列表完全不同,字典里的对象是无序的,他是通过一对对的键和值来反映一种映射关系。字典里,每个键都是唯一的,我们可以通过键来存取对应的值,而不能像列表那样通过位置来索引。

字典的生成有以下几种,1、初始为空字典,动态填充新的键和值;2、用列表动态生成;3、用键值对元组组成的列表构造字典。如下图所示,其中第4个例子是合并两个字典。需要注意的是,如果两个字典中有冲突的键,那么会无规律的进行覆盖,所以应该避免这种情况。

在字典(以及其他映射类型)中,键必须是独一无二的,而字典中的值无需如此。

分别读取字典的键、值和键值对的方法。

字典的对象是无序的,字典的排序是对键值进行排序,它会返回一个排好序的键的列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值