gpt4 book ai didi

python - Itertools 与索引的组合

转载 作者:行者123 更新时间:2023-11-30 22:52:39 25 4
gpt4 key购买 nike

假设我有dlist=[[1, 2], [3, 4], [5, 6], [7, 8],[9,10]] 。我想将两个列表及其索引组合在一起。

期望的输出是

[[0,1],[[1,2],[3,4]]], [[0,2],[[1,2],[5,6]]] and so on..

以下代码创建

clist.append([list(itertools.combinations(list(enumerate(dlist)), 2))])

[((0, [1, 2]), (1, [3, 4])), ((0, [1, 2]), (2, [5, 6])),....

相反..

最佳答案

你就快到了。只需将您的 clist 转换为所需的格式即可。itertools.combinations( enumerate(dlist), 2) 将返回格式为 ((index_number_of_sub_arr1, sub_arr1), (index_number_of_sub_arr2, sub_arr2)) 的组合迭代器。您只需遍历迭代器,将其转换为您的格式[[index_number_of_sub_arr1, index_number_of_sub_arr2],[sub_arr1, sub_arr2]]

# this is like your current clist (iterator)
tmp_list = itertools.combinations( enumerate(dlist), 2)

# convertion to desired format
clist = [ [[idx1, idx2], [arr1,arr2]] for ((idx1, arr1),(idx2,arr2)) in tmp_list ]

关于python - Itertools 与索引的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469637/

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