可以通過列表的索引下標來取出、修改、刪除列表中的值,但是不能通過索引下標來向列表中增加值。
取出列表中的值:
>>> 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']