📌  相关文章
📜  根据给定的索引对数组进行重新排序,并允许重复(1)

📅  最后修改于: 2023-12-03 15:10:49.668000             🧑  作者: Mango

根据给定的索引对数组进行重新排序,并允许重复

在编程中,有时候需要对数组按照给定的索引重新排序,同时允许重复。下面介绍一种实现方法,使用 Python 语言编写。

实现思路

我们可以先创建一个新的列表,然后按照给定的索引依次将原列表中的元素添加到新列表中。

为了允许重复,我们需要在添加元素时判断该元素在新列表中是否已经存在,如果存在,则将其添加到该元素位置之后。

代码实现

下面是 Python 语言的实现代码片段:

def reorder_list(lst, index):
    new_lst = []
    for i in index:
        if lst[i] not in new_lst:
            new_lst.append(lst[i])
        else:
            idx = new_lst.index(lst[i])
            new_lst.insert(idx+1, lst[i])
    return new_lst
使用示例

下面是使用示例代码片段:

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
my_index = [1, 3, 2, 5, 4, 0]
new_list = reorder_list(my_list, my_index)
print(new_list)

输出结果为:

['B', 'D', 'C', 'F', 'E', 'A']
总结

以上就是根据给定的索引对数组进行重新排序,并允许重复的实现方法。通过使用新列表和合适的判断逻辑,我们可以快速实现这个功能。