gpt4 book ai didi

python - 嵌套列表中重复列表的索引

转载 作者:行者123 更新时间:2023-12-03 22:54:53 25 4
gpt4 key购买 nike

我正在尝试解决属于我的基因组比对项目一部分的问题。问题如下:
如果给定一个嵌套列表
y = [[1,2,3],[1,2,3],[3,4,5],[6,5,4],[4,2,5],[4,2,5],[1,2,8],[1,2,3]]
再次将唯一列表的索引提取到嵌套列表中。

例如,上面嵌套列表的输出应该是
[[0,1,7],[2],[3],[4,5],[6]] .

这是因为列表 [1,2,3]存在于 0,1,7th指数仓位,[3,4,5]在第二个索引位置等等。

由于我将处理大型列表,那么在 Python 中实现这一目标的最佳方法是什么?

最佳答案

您可以创建一个字典(或 OrderedDict 如果在较旧的 python 上)。 dict 的键是子列表的元组,值是索引数组。循环后,字典值将保存您的答案:

from collections import OrderedDict

y = [[1,2,3],[1,2,3],[3,4,5],[6,5,4],[4,2,5],[4,2,5],[1,2,8],[1,2,3]]

lookup = OrderedDict()
for idx,l in enumerate(y):
lookup.setdefault(tuple(l), []).append(idx)

list(lookup.values())
# [[0, 1, 7], [2], [3], [4, 5], [6]]

关于python - 嵌套列表中重复列表的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59849983/

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