关于so​​rt()的操作

时间:2015-12-03 11:49:14

标签: sorting

我想了解排序的工作原理,特别是:

>>> a=[2,4,5,1]
>>> a
[2, 4, 5, 1]
>>> b=a
>>> b
[2, 4, 5, 1]
>>> b.sort()
>>> b
[1, 2, 4, 5]
>>> a
[1, 2, 4, 5]

为什么当我将sort()应用于从“a”复制的列表“b”时,sort()也会更改列表“a”?

3 个答案:

答案 0 :(得分:1)

您没有说明我们正在谈论的编程环境。我的最佳猜测:b是对a的引用,因此排序b基本上意味着隐式排序a

答案 1 :(得分:0)

好的,我只是靠自己解决......

>>> a=[2,4,5,1]
>>> b=a[:]
>>> b
[2, 4, 5, 1]
>>> b.sort()
>>> b
[1, 2, 4, 5]
>>> a
[2, 4, 5, 1]

由于

答案 2 :(得分:0)

输入"对象" typeof b" object"

在Javascript"对象"通过引用传递。

所以a和b指的是同一个对象。所以排序" a"会对" b"。

产生同样的影响