本章前两节都是在讲通用的序列操作,之前的示例也用了很多列表,这节开始详细的学习列表的特点。
列表与元组和字符串最大不同就是,列表是可变的,可以修改列表内容。函数list()
使用函数list()可以将字符串转换成列表:>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
同样可以将字符列表转换成字符串,使用''.join(somelist)。>>> ''.join(['H', 'e', 'l', 'l', 'o'])
'Hello'
基本的列表操作
1、修改列表元素>>> x = [1,1,1]
>>> x[1] = 2
>>> x
[1, 2, 1]
>>> x[3] =2
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
x[3] =2
IndexError: list assignment index out of range
修改列表元素,只需使用普通的赋值语句,在加上元素的索引就可以了,需要注意的是,不能给不存在的元素赋值。
2、删除元素>>> names = ['Alice','Beth','Cecil','Dee','Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee', 'Earl']
使用 del 语句,从列表中删除元素,需要注意的是,除了列表的元素被删除了, 列表的长度也被改变了。
3、给切片赋值>>> name = list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[2:] = list('ar')
>>> name
['P', 'e', 'a', 'r']
>>> name[1:] = list('ython')
>>> name
['P', 'y', 't', 'h', 'o', 'n']
通过切片赋值可以同时修改多个元素,而且还可以替换为长度不同的序列,再配合上面的 . join就可以实现修改字符串的目的了。>>> number = [1,5]
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
使用切片赋值还可以在不替换原有元素的情况下,使用一个空切片,达到插入新序列的目的,同样可以使用相反的操作,插入一个空切片,来达到删除元素的效果.>>> numbers[1:4] = []
>>> numbers
[1, 5]
>>> numbers = [1,2,3,4,5]
>>> del numbers[1:4]
>>> numbers
[1, 5]
这样的效果与del numbers[1:4]是一样的。
今天就到这,中秋快乐!!!!!
参考书籍《Python基础教程(第3版)》
留言与评论(共有 0 条评论) |