列表的索引下标操作

  可以通过列表的索引下标来取出、修改、删除列表中的值,但是不能通过索引下标来向列表中增加值。

  取出列表中的值:

>>> 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']
原文地址:https://www.cnblogs.com/wgbo/p/9577084.html