gpt4 book ai didi

python - 列表列表中列表的组索引

转载 作者:行者123 更新时间:2023-11-28 22:43:16 26 4
gpt4 key购买 nike

我正在为以下问题寻找一个优雅的解决方案。
我有一个 ints 列表,我想创建一个列表列表,其中具有相同值的索引按照所述列表出现的顺序分组在一起。

[2, 0, 1, 1, 3, 2, 1, 2] 应该产生 [[0, 5, 7], [1], [2, 3, 6], [4]]
到目前为止我的解决方案:

list = [2, 0, 1, 1, 3, 2, 1, 2]
cc = [[] for i in range(max(list)+1)]

for x in range(0, max(list)+1):
cc[x] = []
for i, j in enumerate(list):
if j == x:
cc[x].append(i)

print("cc: ", cc)

产生 [[1], [2, 3, 6], [0, 5, 7], [4]],这显然是错误的顺序。

最佳答案

使用collections.OrderedDict :

from collections import OrderedDict
od = OrderedDict()
lst = [2, 0, 1, 1, 3, 2, 1, 2]
for i, x in enumerate(lst):
od.setdefault(x, []).append(i)
...
>>> od.values()
[[0, 5, 7], [1], [2, 3, 6], [4]]

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

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