Python 3.x 如何创建具有相同元素的索引列表?
我有一个包含多个向量的列表(VC),我想得到一组相等元素的索引(VC_gr),我认为简单的部分是得到一个值不相同的列表(VC_val) 我已经看到collections.counter可以制作类似的东西,但只使用单个元素Python 3.x 如何创建具有相同元素的索引列表?,python-3.x,Python 3.x,我有一个包含多个向量的列表(VC),我想得到一组相等元素的索引(VC_gr),我认为简单的部分是得到一个值不相同的列表(VC_val) 我已经看到collections.counter可以制作类似的东西,但只使用单个元素 VC = [[54, 57, 58], [57, 58, 61], [54, 57, 58], [72, 69, 75], [66, 68, 68], [61, 64, 66], [66, 68, 68], [66, 68, 68], [66, 68, 68], [72, 69
VC = [[54, 57, 58], [57, 58, 61], [54, 57, 58], [72, 69, 75], [66, 68, 68], [61, 64, 66], [66, 68, 68], [66, 68, 68], [66, 68, 68], [72, 69, 75], [54, 57, 58], [72, 69, 75]]
VC_gr = [[0, 2, 10], [1], [3, 9, 11], [4, 6, 7, 8], [5]]
VC_val = [[54, 57, 58], [57, 58, 61], [72, 69, 75], [66, 68, 68], [61, 64, 66]]
我希望有人能提供一些线索来解决这项任务。提前谢谢
VC = [[54, 57, 58], [57, 58, 61], [54, 57, 58], [72, 69, 75], [66, 68, 68], [61, 64, 66], [66, 68, 68], [66, 68, 68], [66, 68, 68], [72, 69, 75], [54, 57, 58], [72, 69, 75]]
VC_gr = []
VC_val = []
seen = []
for v in VC:
if v not in VC_val:
VC_val.append(v)
rv = []
for i2, j in enumerate(VC):
if v == j and i2 not in seen:
rv.append(i2)
seen.append(i2)
if rv:
VC_gr.append(rv)
print(VC_gr)
print(VC_val)
印刷品:
[[0, 2, 10], [1], [3, 9, 11], [4, 6, 7, 8], [5]]
[[54, 57, 58], [57, 58, 61], [72, 69, 75], [66, 68, 68], [61, 64, 66]]