首页 > 解决方案 > Python 列表理解——访问索引

问题描述

我将如何将其转换为列表理解?

queue_lengths = [0, 1, 2, 3]
for i, queue in enumerate(queue_lengths):
    if queue > 0:
        queue_lengths[i] = queue - 1

下面显然行不通,因为我们无权访问 i.

queue_lengths[i] = [(queue - 1) for i, queue in enumerate(queue_lengths) if queue > 0]

标签: pythonlist-comprehension

解决方案


我想通了,我只是需要更多的时间。

queue_lengths = [(queue - 1) if queue > 0 else queue for queue in queue_lengths]

推荐阅读