Python列表排序后打印显示内置方法对象,排序及打印均失效
解决列表排序后输出“built-in method sort of list object”的问题
你遇到的问题核心是没有正确调用列表的sort方法:
- 代码里的
x = x.sort只是将列表的sort方法对象本身赋值给了变量x,并没有执行实际的排序操作,所以打印x时会输出方法的内存地址信息,原列表也不会被排序。
正确的两种写法:
- 原地排序(修改原列表)
sort()是列表的原地排序方法,无返回值,直接调用后原列表会被排序,之后打印原列表即可:
x = [1,2,1,2,4] x.sort() # 调用sort方法执行排序 print(x)
输出:[1, 1, 2, 2, 4]
- 生成新的排序列表(不修改原列表)
如果不想改变原列表,可使用内置函数sorted(),它会返回一个新的排序列表:
x = [1,2,1,2,4] x = sorted(x) # 将返回的新排序列表赋值给x print(x)
输出:[1, 1, 2, 2, 4]
内容的提问来源于stack exchange,提问作者Abhijit.singh1
相关产品推荐
相关产品推荐

