Python基础4list列表操作+tuple

来源:互联网 发布:java语言编译器win10 编辑:程序博客网 时间:2024/05/23 22:18

1 list添加新元素

1.2 append()方法

list列表末尾添加一个元素

#-*- coding:utf-8 -*-L = [95.5, 85, 59]L.append("张三")print (L)#[95.5, 85, 59, '张三']

1.2 L.insert()方法

向指定的索引位置插入一个元素,第一个参数为索引位置,第二个参数为被添加的对象

#-*- coding:utf-8 -*-L = [95.5, 85, 59, '张三']L.insert(0, "李四")print (L)#['李四', 95.5, 85, 59, '张三']

2 list删除元素

pop()方法

pop()方法总是删掉list的最后一个元素,并且它还返回这个元素

#-*- coding:utf-8 -*-L = ['Adam', 'Lisa', 'Bart']L.pop()print (L)#['Adam', 'Lisa']

如果要删除指定位置的元素,需要给pop指定一个参数为索引位置

#-*- coding:utf-8 -*-L = ['Adam', 'Lisa', 'Bart']L.pop(1)print (L)#['Adam', 'Bart']L.pop(1)print (L)#['Adam']

3 list替换元素

使用索引直接替换,正索引或负索引都可以

#-*- coding:utf-8 -*-L = ['Adam', 'Lisa', 'Bart']L[2] = 'Zhangsan'L[-2] = 'Lisi'print (L)#['Adam', 'Lisi', 'Zhangsan']

4 Pythontuple

4.1 创建tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuplelist非常类似,但是,tuple一旦创建完毕,就不能修改了。

 t = ('Adam', 'Lisa', 'Bart')

创建tuple和创建list唯一不同之处是用( )替代了[ ]

现在,这个 t 就不能改变了,tuple没有append()方法,也没有insert()pop()方法。

获取 tuple 元素的方式和list 是一模一样的,我们可以正常使用t[0]t[-1]等索引方式访问元素,但是不能赋值成别的元素

#-*- coding:utf-8 -*-t = (0,1,2,3,4,5,6,7,8,9,)print (t)#(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,)print (t[2])#2print (t[-1])#9

4.2 tuple的使用

tuplelist一样,可以包含0 个、1个和任意多个元素。

包含多个元素的 tuple,前面我们已经创建过了。

包含 0 个元素的 tuple,也就是空tuple,直接用()表示:

t = ()

print (t)#()

但是,Python 规定,单元素tuple 要多加一个逗号“,”,这样就避免了歧义,因为因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果(1) Python解释器计算出结果1,导致我们得到的不是tuple,而是整数1

例如:

t  = 1

t = ()

Print (t)

结果为1

Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple,多元素tuple 加不加这个额外的“,”效果是一样。

4.3 可变tuple

tuple一旦创建就不能修改,但是可以通过修改tuple中的list而改变tuple中的列表元素

t = ('a', 'b', ['A', 'B'])#创建一个列表L = t[2]#将tuple中t[2]赋值给list列表LL[0] = 'X'#替换L中元素L[1] = 'Y'print t#('a', 'b', ['X', 'Y'])

解释:

定义的时候tuple包含的3个元素:

 

当我们把list的元素'A''B'修改为'X''Y'后,tuple变为:

 

表面上看,tuple的元素确实变了,但其实变的不是tuple 的元素,而是list的元素。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

如果让上面t变成不可变,也可以改成t = ('a', 'b', ('A', 'B'))

0 0
原创粉丝点击