首页 > 解决方案 > 如何从二维列表创建索引列表?

问题描述

如果我有一个二维列表,如何为该二维列表中的特定元素生成索引列表?

例如,如果我有列表

two_d_list = [[0, 1, 0, 0], [1, 1, 0, 0], [0, 0, 0, 1]]

我怎么能用这种格式做一个列表

index_list = [[0, 1], [1, 0], [1, 1], [2, 3]]

这是 中所有 1 的二维索引列表two_d_list。的格式

index_list = [(0, 1), (1, 0), (1, 1), (2, 3)]

也可以。我只需要检索索引。

标签: pythonlist

解决方案


使用列表理解:

>>> [(r, c) for r, line in enumerate(two_d_list) for c, num in enumerate(line) if num==1]

[(0, 1), (1, 0), (1, 1), (2, 3)]

推荐阅读