Python学习(5)--列表

来源:互联网 发布:木托盘设计软件 编辑:程序博客网 时间:2024/06/08 10:56

1.列表

     列表和上一节所说的元组一样,都可以盛放不同数据类型的元素.定义列表与定义元组的不同,只是列表将元素用方括号括起来.下面将会比较元组与列表的不同之处,来学习列表。

先看代码:


list=['zhangsan',12,'man']print(list[0])print(list[1])print(list[2])

代码运行结果如下:

通过代码可以看出我们定义了一个列表list,通过索引下标我们不仅可以获取列表list中的

每一个元素,还可以修改列表元素,但是元组不能修改元组元素.看下以下代码:

list=['zhangsan',12,'man']print(list)list[0]='lisi'print(list)

以下是运行结果:


可以看出列表list修改了的第一个元素list[0].而元组是不能修改元素的,如下代码:

t=('zhangsan',12,'man')t[0]='lisi'

代码结果如下:


通过运行结果可以看到在python中,元组并不支持元素的修改.如果想修改元组中元素,只能在内存中重新开辟出一块空间,并修改变量在内存中指向的地址,让变量指向新的存储空间.代码如下:

t=('zhangsan',12,'man')print(t)print(id(t))t=('lisi',12,'man')print(t)print(id(t))

以下是代码运行结果:


通过代码可以看出列表t的第一个元素'zhangsan'修改成了'lisi',但是通过打印id可以发现,元组t指向的存储空间已经改变,python重新开辟出一块内存空间来存储('lisi',12,'man').

而列表的元素修改则是在原来的存储空间上修改,并不会像元组那样重新开辟出一块内存

来存储列表.代码如下:

list=['zhangsan',12,'man']print(list)print(id(list))#打印list修改之前的idlist[0]='lisi'print(list)print(id(list))#打印list修改之后的id

打印结果如下:


可以看出虽然修改了元组list的第一个元素,但是list指向的内存空间的地址并没有改变.也就是说对列表元素的修改是在原有内存空间的基础上修改的,并没有像元组那样重新开辟出新的内存来存储新的内容,这也启发我们如果处理大量需要修改的数据,使用列表比较好,否则可以使用元组.

下面介绍下有关列表插入删除的操作,先看代码如下:

list=['zhangsan',12,'man']print(list);list.append("1587335928");print(list);list.remove(list[3]);print(list);


以下是代码运行结果:


在列表后面添加元素使用的是append(Object)方法,删除元素使用的是remove(Object)方法,这个方法会删除列表中第一个与Object匹配的元素,代码如下:

list=['zhangsan',12,'man']print(list)list.append("1587335928");list.append("1587335928");print(list)list.remove("1587335928");print(list)
打印结果如下:



可以看到列表只是删除了第一个与被删元素匹配的元素,并没有删除所有的元素。

下一节我们将会介绍python中很重要也非常常用的字典,上一节的排版不是很好,在手机上的显示效果有一部分文字溢出了屏幕,通过拖拽可以看到,敬请见谅。
























原创粉丝点击