列表的索引下标操作
可以通过列表的索引下标来取出、修改、删除列表中的值,但是不能通过索引下标来向列表中增加值。
取出列表中的值:
>>> lst = [1, 2, 3, 4, 5, 'w', 'y', 'python'] >>> lst[2] 3 >>> lst[-1] 'python' >>> lst[5] 'w'
修改列表中的值:
>>> lst[-2] = 'java' >>> lst [1, 2, 3, 4, 5, 'w', 'java', 'python'] >>> lst[4] = 'c++' >>> lst [1, 2, 3, 4, 'c++', 'w', 'java', 'python']
删除列表中的值:
>>> del lst[3] >>> lst [1, 2, 3, 'c++', 'w', 'java', 'python'] >>> del lst[4] >>> lst [1, 2, 3, 'c++', 'java', 'python']
不能直接通过索引下标向列表中增加元素,会报错:
>>> lst[6] = 7 # 索引越界 Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range
当需要通过索引向列表中增加元素时:
>>> lst [1, 2, 3, 'c++', 'java'] >>> lst[len(lst):] = ['web'] # 相当于append() >>> lst [1, 2, 3, 'c++', 'java', 'web'] >>> lst[len(lst):] = ['python', 3] # 相当于extend() >>> lst [1, 2, 3, 'c++', 'java', 'web', 'python', 3]
给切片赋值:
>>> lst = list('python') >>> lst ['p', 'y', 't', 'h', 'o', 'n'] >>> lst[2:] = list('AAA') # 通过切片赋值,可以替换长度与其不同的序列 >>> lst ['p', 'y', 'A', 'A', 'A'] >>> lst[1:1] = [2, 3] # 通过切片赋值,还可以在不替换原有元素的情况下插入新元素 >>> lst ['p', 2, 3, 'y', 'A', 'A', 'A'] >>> lst[4:] = [] # 通过切片赋值,替换一个空切片,相当于删除元素 >>> lst ['p', 2, 3, 'y']