python排序更改上一个变量的值

时间:2017-05-21 23:46:56

标签: python python-3.x sorting

在排序之前分配的

temp变量也会获得sorted为什么?

为列表创建临时变量的最佳方法是什么。

>>> arr = [3, 2, 4, 1]
>>> temp = arr
>>> arr.sort()
>>> arr
[1, 2, 3, 4]
>>> temp
[1, 2, 3, 4]

,而:

>>> a = 5
>>> b = a
>>> a
5
>>> b
5
>>> a = 1000
>>> a
1000
>>> b
5

2 个答案:

答案 0 :(得分:2)

值得注意的是,使用.sort()修改原始列表,而sorted()将返回新的排序列表。 This网站对该主题有一个很好的解释。

答案 1 :(得分:1)

temp是指向同一列表的名称。要创建列表的副本,您可以执行

temp = list(arr)

你应该看到,如果你运行

arr = [1, 2, 3, 4]
temp = list(arr)
temp[0] = 2
arr != temp # will return true because it is a new object