一、列表
1.将列表当做堆栈使用(先进后出)
例如:
stack = [1, 2, 3, 4]
追加:stack.append(5) ===>[1, 2, 3, 4, 5]
去除栈顶元素:stack.pop() ==>[1, 2, 3, 4]
2.将列表当作队列使用(先进先出)
例如:
from collections import deque
queue = deque(["aaa", "bbb", "ccc"])
追加:queue.append('ddd')
取出头:queue.popleft() ===>aaa
3.列表推导式
例如:
(1)
vec = [2, 4, 6]
a = [3*x for x in vec]
===>[6, 12, 18]
(2)
freshfruit = [' banana', ' loganberry ', 'passion fruit ']
freshfruit = [weapon.strip() for weapon in freshfruit]
===>['banana', 'loganberry', 'passion fruit']
(3)
vec = [2, 4, 6]
vec = [3*x for x in vec if x > 3]
===>[12, 18]
二、枚举
有时候,你可能想在一个列表上迭代,并且同时使用它的元素和元素的索引:
非Python用法
for i in range(len(documents)):
document = documents[i]
do_something(i, document)
也非Python用法
i = 0
for document in documents:
do_something(i, document)
i += 1 Python 惯用的解决方案是使用枚举( enumerate ),它会产生 (index, element) 元组:
for i, document in enumerate(documents):
do_something(i, document)
类似地,如果你只想要索引,则执行:
for i in range(len(documents)): do_something(i) # 非Python用法
for i, _ in enumerate(documents): do_something(i) # Python用法
我们会频繁用到枚举。
文章信息
- 本文作者:zhangxue
- 本文链接:https://lucksnow1989.github.io/article/13.脚本语言/python/基本语法/6数据结构.html
- 版权声明:本文为本人原创文章,遵循 CC 4.0 BY-NC-SA版权协议,转载请附上原文出处链接和本声明。