为什么这段代码中 arr2 被改变了?甚至有人提到

问题描述

这是来自 leetcode 问题 1122 (https://leetcode.com/problems/relative-sort-array/)。 问题:

给定两个数组 arr1 和 arr2,arr2 的元素是不同的,并且 arr2 中的所有元素也在 arr1 中。 对 arr1 的元素进行排序,使得 arr1 中项目的相对顺序与 arr2 中的相同。没有出现在 arr2 中的元素应该按升序放在 arr1 的末尾。

这是我写的代码

class Solution:
    def relativeSortArray(self,arr1,arr2):
        res = arr2
        
        print(arr2)
        for i in arr1:
            if i in res:
                res.insert(res.index(i),i)
            else:
                res.append(i)
        print(arr2)
        
        for i in arr2:
            res.pop(res.index(i))
        return res

出于某种原因,在第一个 for 循环之后 arr2 与 res 相同。有人可以解释为什么吗?在这个 for 循环中甚至没有提到 arr2。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)