python列表和元组

python列表和元组

1、列表
列表是Python中内置的有序可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号隔开,列表中元素的类型可以相同也可以不同。

(1)列表的创建
创建列表的两种方式:
直接通过一对中括号创建列表对象;
使用list()函数将元组、range对象、字符串或其他类型的可迭代对象转换为列表;

(2)列表元素的索引
列表创建完成后,主要是通过列表名[索引]来访问元素,Python中的索引支持两个方向:
从左到右从0开始不断增大;
从右向左从-1开始不断减小;
因此访问列表中的某一元素,通常有两种方式,例如 a_list = [1, 3, 5, 7, 9],a_list[2]和a_list[-3]表示的都是同一个元素5。
在这里插入图片描述

(3)列表的切片操作
如果想同时访问多个元素,可以使用Python中的切片操作
语法形式为:列表对象 [start : end : step]
start表示起始位置的索引,end表示结束位置的索引,但不包含结束位置,step表示步长,默认为1。start和end中间的冒号不可省略,其他部分都可省略。

由于Python中支持两个方向的索引,所以start和end既可以是正数,也可以是负数,但一定要在规定的范围内,否则会报错。执行切片操作时,不管索引是正数还是负数,首先找到该索引对应的元素,找到起始元素和结束元素后,再根据步长来确定访问规则,这里的步长,也支持正数和负数,表示不同的方向。如果按照指定的方向,无法从起始元素到达结束元素,此时结果为空列表。例如:a_list = list(range(1, 10))。
在这里插入图片描述
在这里插入图片描述
(4)列表内容的修改
列表是一种可变序列,允许对其中的元素进行修改,分为三种情况:
修改单个元素(对新的值没有特殊要求);
修改连续的多个元素(要求新的值必须是可迭代对象);
修改不连续的多个元素(要求新的值必须是可迭代对象,且可迭代对象中元素个数和之前的元素个数相同)
在这里插入图片描述
(5)列表的常见方法
在这里插入图片描述
在这里插入图片描述

2、元组
元组是Python中内置的有序不可变序列,元组的所有元素放在一对圆括号“()”中,并使用逗号隔开,元组中元素的类型可以相同也可以不同。
(1)元组的创建
创建元组的两种方式:
直接通过一对圆括号创建元组对象;
使用tuple()函数将列表、range对象、字符串或其他类型的可迭代对象转换为元组;

注意:当元组中只包含一个元素时,元素后面的逗号不能省略,否则系统会将其看做是其他数据类型。例如包含一个整数5的元组应写成 a_tuple = (5,) 而不能写成a_tuple = (5)(此时a_tuple是整型)。

元组和列表的联系与区别
元组和列表之间存在很多关联,例如都可以存放多个数据,里面的数据都是有序的,支持索引、切片操作,都能使用系统中提供的一些内置函数如求最大值、最小值、求和、求长度等。
二者之间可以通过相应的函数进行转化,二者最大的不同在于元组中的元素不能修改,因此元组不支持修改、插入、附加等操作,所有对元组有变化的操作都是生成一个新的元组,例如两个元组之间相加、元组乘以整数等。
可以说,所有能用到元组的地方,都可以使用列表。那为什么还需要元组呢?元组操作速度比列表更快,元组的安全性更高,可以有效避免对一些不可变的内容进行修改。
在这里插入图片描述

总结:

1、相同点:
列表和元组是Python中最常用的两种数据结构,字典是第三种。

列表与元组都是容器,都能存储任何数据类型;

列表与元组的数据可以进行互相转化

可以通过索引访问

list和tuple都支持负索引

list和tuple都支持切片操作

list和tuple都可以随意嵌套

2、不同点:
列表属于动态数据,不可变但可以对元素进行增、删、改来改变元素的长度。

元组属于静态数据,不可变类型。

元组被定义不允许修改。

列表定义后用户可以使用for或者while对列表中的数据进行遍历,能对列表中的元素进行增、删、改。

一般用于存储同一类型同语义的数据的集合。

列表与元组保存数据的格式不同,列表使用[]括号存储数据,元组使用()存储数据。

列表和元组查询速度,元组优于列表,安全性元组比列表安全性高

https://zhuanlan.zhihu.com/p/368121634

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值