关于Python中的sort输出结果为什么是none的问题

img

img


为什么最后是none,如果改成c=sorted(b)为什么就可以呢,但是书上说列表可以用b.sort()

因为sort函数没有返回值,所以输出的是none。
列表排序也可以用sort函数,像下面这样:

a = "hello world !"
b = a.split()
b.sort()
print(b)

运行结果:

img

  • 这篇博客: 2022年3月电子学会Python等级考试试卷(三级)答案解析中的 13. 执行代码a,b,c=sorted((1,3,2))之后,变量b的值为? ( ) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • A. 1

    B. 3

    C. 2

    D. (1,3,2)

    试题编号:20220210-ssn-013

    试题类型:单选题

    标准答案:C

    试题难度:一般

    试题解析:

    考生答案:C

    考生得分:2

    是否评分:已评分

    评价描述:

  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    根据参考资料可以得知,sort()函数的使用方法为:列表序列.sort(key=None,reverse=False),该方法可以直接改变原来列表的元素排序,但输出结果为None,因此需要按照下列步骤使用sort()函数:

    1. 使用 sort() 进行元素排序,注意 sort() 返回 None

    2. 输出被排序后的列表

    下面是具体的代码实现:

    my_list = [12, 2, 5, 28]
    my_list.sort()
    print(my_list)
    # 输出结果为:[2, 5, 12, 28]
    

    如果你要对列表进行降序排列,可以将reverse参数设置为 True:

    my_list = [12, 2, 5, 28]
    my_list.sort(reverse=True)
    print(my_list)
    # 输出结果为:[28, 12, 5, 2]
    

    另外,如果你想返回排好序的列表,可以使用sorted()函数:

    my_list = [12, 2, 5, 28]
    new_list = sorted(my_list)
    print(new_list)
    # 输出结果为:[2, 5, 12, 28]
    

    最后,需要注意的一点是: 使用 sorted() 函数可以不改变原来列表的元素顺序。