gpt4 book ai didi

python - 根据值创建具有数组索引的数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:55 25 4
gpt4 key购买 nike

我有一个像这样的二维数组:

map = [[0, 1, 1], [0, 2, 1], [0, 2, 2]]

我想获取基于值的索引数组。对于 example map[0][0] == 0 所以我希望 (0, 0) 对位于结果数组中的索引 0 上。结果数组应如下所示:

result[0] = [(0, 0), (1, 0), (2, 0)]
result[1] = [(0, 1), (0, 2), (1, 2)]
result[2] = [(1, 1), (2, 1), (2, 2)]

我一直努力在不编写非常糟糕的代码的情况下获得这样的结果:

    val0 = []
val1 = []
val2 = []
for i in range(3):
for j in range(3):
if(map[i][j] == 0) : val0.append((i, j))
if(map[i][j] == 1) : val1.append((i, j))
if(map[i][j] == 2) : val2.append((i, j))

data = []
data.append(val0)
data.append(val1)
data.append(val2)

最佳答案

遍历矩阵并保存您在字典中看到每个值的位置。那是你的结果。

retval = defaultdict(list)
for i in range(len(map)):
for j in range(len(map[i])):
val = map[i][j]
retval[val].append((i,j))
print retval

关于python - 根据值创建具有数组索引的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55452534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com