Python3.6.4文档(tutorial)总结——列表(提升)

本文介绍了Python列表的基础操作方法,如添加、删除等,并展示了如何利用列表实现栈和队列的功能。此外还介绍了列表解析式的高效使用方法。
一、方法介绍


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]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值