【发布时间】:2021-11-30 18:27:24
【问题描述】:
我正在尝试使用以下代码在 Python 中创建队列
data = queue.Queue(maxsize=4)
lists = [None] * 3
for i in range(4):
data.put(lists)
这会启动一个由 4 个列表组成的队列,每个列表中包含三个 None 元素,如下所示
> print(data.queue)
deque([[None, None, None], [None, None, None], [None, None, None], [None, None, None]])
现在,我想编辑列表中的元素,使其看起来像这样:
deque([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
我尝试使用以下代码:
x = 0
for lst in data.queue:
for elem in lst:
elem = x
x += 1
print(data.queue)
但它不会改变列表元素的值,仍然返回
deque([[None, None, None], [None, None, None], [None, None, None], [None, None, None]])
有什么方法可以修改 Queue 对象内的 Lists 的内容吗?
【问题讨论】: