Python列表推导式循环生成buffer时使用的-1符号代表什么含义?
Python列表推导式中
-1的含义解释 你给出的代码核心是用列表推导式快速初始化固定长度的列表,其中的-1是列表每个元素的初始占位值:
CAPACITY = 10 buffer = [-1 for i in range(CAPACITY)]
- 等效于常规循环写法:
CAPACITY = 10 buffer = [] for i in range(CAPACITY): buffer.append(-1)
执行后会得到长度为10、所有元素都是-1的列表:[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
- 选择
-1作为初始值是开发中的常见惯例,通常用来标记该位置当前处于未使用、未存储有效数据、无效的状态,比如实现环形缓冲区、固定长度缓存队列的场景下,通过-1可以快速区分空位置和已存入有效值的位置。你也可以根据业务需要换成0、None或者其他自定义占位值。
内容的提问来源于stack exchange,提问作者Dobromir Petushev
相关产品推荐
相关产品推荐

