gpt4 book ai didi

python - 如何获取列表中相同的行索引?

转载 作者:行者123 更新时间:2023-11-30 22:00:48 24 4
gpt4 key购买 nike

我有一个像这样的 numpy 数组:

[[0 1 0]
[1 2 1]
[2 2 1]
[3 0 0]
[4 0 1]
[5 1 2]
[6 0 1]
[7 1 0]
[8 1 2]]

第一列是索引,其他两列是位置 x,y。

我想要获取具有相同 x,y 位置的索引列表。

例如,对于上面的输入,输出可以类似于每行中的一组索引:

groups = [[0,7],
[1,2],
[4,6],
[5,8],
[3]]

因此每一行代表一组具有相同位置 x,y 的索引。 5 个组,其中 4 个组有 2 个成员,但请注意最后一行仅显示索引 3。该组只有一个索引,即 3。

如何在 python 中实现这一点?

最佳答案

看看这个:

lis = [[0 ,1, 0],
[1, 2, 1],
[2, 2, 1],
[3, 0, 0],
[4, 0, 1],
[5, 1, 2],
[6, 0, 1],
[7, 1, 0],
[8, 1, 2]]

dic = {}

for x,y,z in lis:
if dic.get((y,z)):
dic[(y,z)].append(x)
else:
dic[(y, z)] = [x]
final_list = [dic[key] for key in dic.keys()]

print(final_list)

关于python - 如何获取列表中相同的行索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54230820/

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