列表、堆栈、集合

列表

列表可以修改,而字符串和元组不能。

把列表当堆栈使用

堆栈的特性:

最先进入的元素最后一个被释放(后进先出)

我们可以用 append()方法可以把一个元素添加到堆栈顶。用不指定索引的 pop()方法可以把一个元素从堆栈顶释放出来。

1
2
3
4
stack1 = [1,2,3]
stack1.append(10)
stack1.pop()
print(stack1)

把列表当队列使用

队列的特性:

最先进入的元素最先被释放(先进先出)

1
2
3
queue1 = [1,2,3]
queue1.append(4)
queue1.popleft()

但是这种效率是不高的。

python 帮我们实现了专用的队列

1
2
3
4
from collections import deque
queue2 = deque([1,2,3])
queue2.append(4)
queue2.popleft()

还是用同样的添加、移除方法。但是效率快了很多。

列表推导式

什么是列表推导式,直接看代码吧。

1
2
3
4
5
list1 = [1,2,3]

list2 = [] # list2 为 list1中每个元素的2倍的值
for item in list1:
list2.append(item * 2)

有没有更简便的方法,还记得吗,优秀的程序的特性之一:懒惰

1
2
3
4
list1 = [1,2,3]

# 列表推导式
list2 = [item * 2 for item in list1]

不是很直观,我们来推导一下,for item in list1 表示对 list1中的每个元素做处理,item * 2 表示推导出来得列表的元素为 list1中的每个元素的2倍的值。

字典、元组、集合

这里就不再介绍了,前面的课程有讲解。

字典的遍历

1
2
3
dict1 = {"name":'peng','age': 10}
for k,v in dict1.items():
print(k,v)

视频课程

https://www.bilibili.com/video/BV1hK411H7yG/