list - 如何获取列表中非零元素的索引列表?

标签 list python list-comprehension

我有一个总是只包含 1 和 0 的列表。 我需要获取列表的非零索引列表:

a = [0, 1, 0, 1, 0, 0, 0, 0]
b = []
for i in range(len(a)):
    if a[i] == 1:  b.append(i)
print b

实现这一目标的“pythonic”方式是什么?

最佳答案

[i for i, e in enumerate(a) if e != 0]

关于list - 如何获取列表中非零元素的索引列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111412/

相关文章:

python - 将 CSV 列转换为列表

python - 无法在 Windows 上安装 python-Levenshtein,错误代码 1

python - 为什么 Python sys.version_info 缺少 _asdict() 方法来转换为字典?

python - 在列表的每个字典中添加一个元素(列表理解)

python - 对元组列表进行排序时的多个要求

r - 将 ifelse() 创建的变量添加到数据框列表

python - 在 python 中连接列表

python - 使用 for 循环分配列表项会导致无限循环

python - 字典理解中的列表理解 - 范围

python - 在Python中比较两个列表中的元素