在Python中,列表是基本的数据类型。列表中可以包含多个元素,这样就可以编写程序来处理大量数据。列表是一个值,它包含多个元素构成的序列。列表可以保存在变量中,或传递给函数,作为函数的返回值。列表的表示方式如下:
['dog', 'cat', 'pig', 'duck']
- 列表数据类型
列表用左方括号开始,右方括号结束。列表中的值也称为元素,元素间用逗号隔开。在已经安装Python环境下(现在的开发环境是Python3.8.5)。
>>> ['dog', 'cat', 'pig', 'duck']
['dog', 'cat', 'pig', 'duck']
>>> ['cat', 123456, True, None, 3.20]
['cat', 123456, True, None, 3.2]
>>> Instance=['dog', 'cat', 'pig', 'duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
列表可以被赋予一个值:列表值,如上面例子中赋值给Instance,列表值本身包含多个元素,同一个列表中的元素间的数据类型可以相同,也可以不同,如上面例子中的cat是字符串型,123456是整型,True是布尔型等。
1.1 用下标取得列表中的单个值
元素可以通过列表值加索引值获取。列表中的每个元素都有编号值,即其索引。第一种按照从左到右的方式,第一个位置是0,第二个位置是1,一直到N。将列表['dog','cat','pig','duck']保存到变量Instance中,采用0,1..N的方式进行取值,如下所示。
>>> Instance=['dog','cat','pig','duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[0]
'dog'
>>> Instance[1]
'cat'
>>> Instance[2]
'pig'
>>> Instance[3]
'duck'
第二种按照从右往左的方式,第一个位置是-1,第二个位置是-2,一直到 —N。
>>> Instance=['dog','cat','pig','duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[-1]
'duck'
>>> Instance[-2]
'pig'
>>> Instance[-3]
'cat'
>>> Instance[-4]
'dog'

索引值的取值范围是[0,列表长度-1],如果使用的索引值超过值个数,Python将给出IndexError的错误信息。
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[100]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
1.2 用切片取得子列表
使用下标可以从列表中取得单个元素,使用切片可以从列表中获得一个新的子列表。切片输入在一对方括号中,有两个冒号分隔的整数。在一个切片中,第一个整数是切片开始处的下标,第二个整数是切片结束处的下标,但不包括它。切片求值为一个新的列表值。
>>> Instance=['dog','cat','pig','duck']
>>> Instance[0:3]
['dog', 'cat', 'pig']
>>> Instance[1:4]
['cat', 'pig', 'duck']
>>> Instance[0:-1]
['dog', 'cat', 'pig']
1.3 修改、添加和删除
在实际的应用场景中,列表都是动态变化的,列表值会随着程序的运行增加、删除和修改。 比如你创建一个任务列表,当新增加1个任务时,程序可以将这个任务添加到列表中。当某个任务执行完毕后,可以从列表中将该任务删除。当某个任务需要修改时,可以在列表中直接进行修改。
- 修改元素
由于列表是可修改的,可以通过索引值指定要修改的元素,采用赋值的方式直接修改。
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance[0]='fox'
>>> print(Instance)
['fox', 'cat', 'pig', 'duck']
- 添加元素
我们可以在列表的尾部添加元素,你可以在列表的任意位置添加元素。
使用append函数在尾部添加元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.append('chicken')
>>> print(Instance)
['fox', 'cat', 'pig', 'duck', 'chicken']
使用insert在列表的任意位置添加元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.insert(1,'cow')
>>> print(Instance)
['dog', 'cow', 'cat', 'pig', 'duck']
- 删除元素
使用del删除指定位置的元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> del Instance[0]
>>> print(Instance)
['cat', 'pig', 'duck']
根据值删除元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.remove('dog')
>>> print(Instance)
['cat', 'pig', 'duck']