一、方法介绍
list.append(i)将变量i添加到列表末尾
list.extend([i, j, k...])将另一个列表添加到list列表末尾
list.insert(下标, 变量)将某变量插入到指定位置
list.remove(value)从列表中移除值,若值不存在则报错
list.pop(下标)从列表中弹出(返回)指定位置的值
list.clear()清除列表全部内容
list.index(value) 返回指定值的下标,若值不存在则报错
list.count(value) 返回某个值在列表中出现的次数
list.sort(key=排序依据, reverse=False)列表排序,可指定排序依据和排序方式,默认从小到大排序
list.reverse()列表翻转
list.copy()列表复制,返回一个相同列表,和list[:] 切片效果相同
二、将列表用于栈储存
栈存储的特点就是后进先出,所以就可以使用.append() 方法和.pop()方法达到栈储存的目的
>>> nums = [1, 2, 3, 4]
>>> nums.append(5)
>>> nums.append(6)
>>> nums
[1, 2, 3, 4, 5, 6]
>>> nums.pop()
6
>>> nums.pop()
5
>>> nums
[1, 2, 3, 4]
三、将列表用作队列(queues)
队列的特点是先进先出,而使用collections模块中的.popleft()方法可以实现这样的效果
>>> from collections import deque
>>> nums = deque([1, 2, 3, 4])
>>> nums.append(5)
>>> nums.append(6)
>>> nums
deque([1, 2, 3, 4, 5, 6])
>>> nums.popleft()
1
>>> nums.popleft()
2
>>> nums
deque([3, 4, 5, 6])
四、更简单的方式创建列表
比如我要创建一个0到10000的列表,一个一个的输入很不现实。在Python中提供了解析式写法:
>>> nums = [num for num in range(0, 10)]
>>> nums
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
或者更复杂
>>> nums = [num * (num - 1) for num in range(2, 10)]
>>> nums
[2, 6, 12, 20, 30, 42, 56, 72]
再或者
nums = [[x, y] for x in range(0, 5) for y in range(0, 5) if x != y]
>>> nums
[[0, 1], [0, 2], [0, 3], [0, 4], [1, 0], [1, 2], [1, 3], [1, 4], [2, 0], [2, 1], [2, 3], [2, 4], [3, 0], [3, 1], [3, 2], [3, 4], [4, 0], [4, 1], [4, 2], [4, 3]]