首页 > 解决方案 > 反转函数反转错误列表

问题描述

我对编码真的很陌生,这是我的第一篇文章,但我还没有发现其他人有同样的问题。

这是我的代码片段:

nr_list = [3, 4, 9]
nr_list_r = []
nr_list_r = nr_list
nr_list_r.reverse()
print(nr_list)

它返回[9, 4, 3]

老实说,nr_list当我只在nr_list_r.

为什么也nr_list反转了?

标签: python

解决方案


在 Python 中,变量是指值而不是包含它们。所以当你这样做时

nr_list_r = nr_list

你不是在做一个新的清单。您正在使一个新变量引用相同的列表。如果要制作副本,可以使用切片语法[:]

nr_list_r = nr_list[:]

但是我们也已经有一种方法可以在不修改列表的情况下反转列表,因此您也可以使用该内置函数来实现。

nr_list_r = list(reversed(nr_list))

我们使用reversed反转可迭代对象,然后list将结果(任意可迭代对象)转换为具体列表。


推荐阅读