You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Python中无法将变量赋值为sort方法反转后的列表

问题原因

Python列表的sort()方法是原地排序方法,只会直接修改调用它的列表本身,不会生成新的排序后列表作为返回值,所有没有显式返回值的Python方法默认都会返回None,所以你赋值给reversed_list的就是这个默认返回的None。

解决办法

你可以根据需求选择以下三种方案:

  • 方案1:如果需要保留原列表不变,使用Python内置的sorted()函数,该函数会生成并返回新的排序后列表,不会修改原列表:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
reversed_list = sorted(my_list, reverse=True)
print(reversed_list)
  • 方案2:如果不需要保留原列表的原始顺序,可以直接对原列表调用sort(reverse=True),之后直接使用原列表即可,无需额外赋值:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list.sort(reverse=True)
print(my_list)
  • 方案3:如果需要保留原列表同时想用sort()方法,可以先复制原列表得到副本,再对副本执行排序操作:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
reversed_list = my_list.copy()
reversed_list.sort(reverse=True)
print(reversed_list)

内容的提问来源于stack exchange,提问作者Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:42:03