cari

Rumah  >  Soal Jawab  >  teks badan

python2.7 - Python:为什么不可以这样:print list1.sort(),而是先:list1.sort()再print list1?

迷茫迷茫2825 hari yang lalu619

membalas semua(6)saya akan balas

  • 阿神

    阿神2017-04-17 15:43:36

    因为List的sort方法返回的类型就是<type 'NoneType'>, 你这里print并不是list1.

    >>> list1=[3,2,5,6,1]
    >>> print type(list1.sort())
    <type 'NoneType'>

    balas
    0
  • 迷茫

    迷茫2017-04-17 15:43:36

    因为sort没有返回值

    balas
    0
  • PHPz

    PHPz2017-04-17 15:43:36

    最近刚遇到这个问题,原因就是list1.sort()只是对list1里的元素进行排序,然后返回的是NoneType。如果要直接得到排好序的列表应该用sorted函数。

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 15:43:36

    可以使用sorted啊

    >>> list1=[3,2,5,6,1]
    >>> print sorted(list1)
    [1, 2, 3, 5, 6]

    balas
    0
  • 黄舟

    黄舟2017-04-17 15:43:36

    sorted返回了一个新的list。sort原地排序。

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:43:36

    因为list.sort()的作用是将list的元素排序,而不是将list.sort()本身变成排序后的list

    balas
    0
  • Batalbalas