2301_82180200 2024-07-04 10:06 采纳率: 0%
浏览 19

python为什么返回结果是None?

list1=[4,8,6,4,0,3]
list1=list1.sort()
print(list1)

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-07-04 10:06
    关注

    引自免费微信小程序:皆我百晓生

    你的代码片段中存在一个常见的误解。在Python中,sort()方法是一个就地排序的方法,它会直接修改列表并返回None。这意味着当你调用list1=list1.sort()时,列表list1已经被排序,但sort()方法返回的是None,所以此时你的list1被赋值为None。这就是为什么你打印出来的结果是None

    如果你希望保持原来的列表并创建一个新的排序后的列表,你可以使用sorted()函数。这是其使用方式:

    list1 = [4, 8, 6, 4, 0, 3]
    sorted_list = sorted(list1)  # 这会返回一个新的排序后的列表,原列表list1保持不变
    print(sorted_list)  # 输出:[0, 3, 4, 4, 6, 8]
    

    如果你仍然想使用原来的列表并对其进行排序,你可以这样写:

    list1 = [4, 8, 6, 4, 0, 3]
    list1.sort()  # 这会直接修改list1并对其进行排序,不返回任何值(即返回None)
    print(list1)  # 输出:[0, 3, 4, 4, 6, 8],此时list1已经被排序
    

    记住,sort()方法是就地排序,而sorted()函数会返回一个新的列表。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月4日