📅  最后修改于: 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']
以上就是根据给定的索引对数组进行重新排序,并允许重复的实现方法。通过使用新列表和合适的判断逻辑,我们可以快速实现这个功能。