Python3的list和tuple

来源:互联网 发布:微信秒抢红包软件苹果 编辑:程序博客网 时间:2024/05/21 18:35

list

Python的列表,是一种有序的集合,用[]表示

>>> jobs = ['SE','SA','PM']>>> jobs['SE','SA','PM']

用索引访问数组元素时,从下标0开始,并且索引越界会报错:

>>> jobs[0]'SE'>>> jobs[1]'SA'>>> jobs[4]Traceback (most recent call last):  File "<stdin>", line 1, in <module>IndexError: list index out of range

也可以使用负数倒序取出元素,例如使用索引-1获取最后一个元素:

>>> jobs[-1]'PM'

常用的方法append(),在列表末尾添加一个元素

>>> jobs.append('UI/UE')>>> jobs['SE','SA','PM','UI/UE']

insert(),在指定的位置插入元素

>>> jobs.insert(2,'PA')>>> jobs['SE', 'SA', 'PA', 'PM', 'UI/UE']

pop(),删除指定位置的元素,不传参默认删除最后一个元素

>>> jobs.pop(1)'SA'>>> jobs['SE', 'PA', 'PM', 'UI/UE']>>> jobs.pop()'UI/UE'>>> jobs['SE', 'PA', 'PM']

tuple

Python的元组,也是一种有序的集合,用()表示,并且tuple一旦初始化就不能对其中的元素的指向进行改变了

>>> users = ('mike','peter','tom')>>> users('mike', 'peter', 'tom')>>> users[1]'peter'>>> users[1] = 'max'Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment

这里要注意,为什么说是“元素的指向”不能改变,有些人说tuple一旦定义了就不能变了,这么说是有歧异的,下面我给大家看一个“可变的”tuple

>>> userinfo = (18,'male',[1,5,10])>>> userinfo(18, 'male', [1, 5, 10])>>> userinfo[2][2] = 20>>> userinfo(18, 'male', [1, 5, 20])

假设,这里有一条用户信息,年龄18male男性,有纸币1块5块10块各一张,纸币的信息存放在一个list中,这时,我们可以修改这个list的元素,把10块换成20块,并且修改成功了,为什么呢?这是因为tuple只规定不能修改其中的元素的指向,上面这个tuple中的list的指向我们是没有变的,仍然是这个list,但是list中的元素是可以改变的

tuple的一个小陷阱:

由于()还可以表示数学公式中的小括号,当定义只有一个数字的tuple时,需要添加一个逗号以示区分,不加的话定义的就只是一个数字

>>> number = (666)>>> number666>>> number = (666,)>>> number(666,)
0 0
原创粉丝点击