Python提供了list类型来表示数组。你可以使用这种类型来表示多个具有相同结构的实例,比如:你想在程序中存储多个人的联系方式,那么你可以使用list来完成。
本文将从以下几个方面来介绍内置的列表类型:
- 列表的数据结构
- 列表的常用操作
列表的数据结构
下图是一张关于list的示意图:
这个列表里有6个str元素,每个元素都有一个索引(0-5),你可以使用索引来存取某个元素。为了简化程序的逻辑,一个列表里面的元素类型应该是一致的,但是,由于Python是弱类型语言,因此,一个列表里面可以存在不同类型的元素,下面的代码片段说明了这一点:
>>> arr = ["I love digolds", 1]
>>> arr[0]
'I love digolds'
>>> arr[1]
1
>>> type(arr[0])
<class 'str'>
>>> type(arr[1])
<class 'int'>
列表的常用操作
为了存储多个类型一样的元素,你需要使用list,此时你还需要对列表进行各种操作。最常见的有遍历这个列表,往列表中追加或删除一个元素,从列表中存取一个元素等等。接下来,让我们通过几个例子来说明这些操作。
- 以下代码遍历了一个数组
>>> my_list = ['I','love','digwebs']
>>> for w in my_list:
... print(w)
...
I
love
digwebs
- 以下代码获取数组的长度
>>> len(my_list)
3
- 以下代码向数组末尾添加一个元素
>>> my_list.append('!')
>>> my_list
['I', 'love', 'digwebs', '!']
- 向数组末尾删除一个元素
>>> my_list.pop()
'!'
>>> my_list
['I', 'love', 'digwebs']
- 存取数组中的某个元素
>>> my_list[0] + '爱' + my_list[2]
'I爱digwebs'
>>> my_list[0] = '我'
>>> my_list
['我', 'love', 'digwebs']
- 清除数组中的所有元素
>>> my_list.clear()
>>> my_list
[]
- 拼接2个数组A=[7,8,9]和B=[1,2,3]
>>> A=[7,8,9]
>>> B=[1,2,3]
>>> A + B
[7, 8, 9, 1, 2, 3]
>>> B + A
[1, 2, 3, 7, 8, 9]
- 对数组A=[7,1,4,90,2,100,87]排序
>>> A=[7,1,4,90,2,100,87]
>>> A.sort()
>>> A
[1, 2, 4, 7, 87, 90, 100]
- 从数组中A=[7,1,4,90,2,100,87]取出子数组
>>> A=[7,1,4,90,2,100,87]
>>> start = 1
>>> end = 6
>>> step = 2
>>> A[start:end:step]
[1, 90, 100]
start、end、step的规则如下定义
#The Python slicing operator syntax
[start(optional):stop(optional):step(optional)]
Start -> The starting index (By default included in the slice output)
Stop -> The closing index (Excluded from the slice output)
Step -> Tells how many values to exclude from the end. The default is 1.
- 数组的逆向操作
>>> A = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']
>>> A[-1]
'corge'
>>> A[-1:-3:-1]
['corge', 'quux']
总结
本文介绍了Python中的内置类型-列表,它经常用于表示多个相同类型的元素。你能够往里面增加或删除元素,还能够遍历所有元素,在遍历的时候,你还可以搭配条件语句来退出或忽略循环。Python中还提供了另外一种列表类型-元组,它与列表非常相似,但是具有某些特性。