python中sort sorted() reverse() reversed() 的区别

时间:2023-01-14 15:30:59

sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值。sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回一个异常。

 复制代码代码如下:
>>> a=[5,4,3,2,1]
>>> a.sort()
>>> [1, 2, 3, 4, 5]
>>> a
>>> [1, 2, 3, 4, 5]


sorted()是python的内置函数, 并不是可变对象 (列表、字典)的特有方法sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数, 都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。

 复制代码代码如下:
>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]

>>> sorted(mystring)
>>>[1, 2, 3, 4, 5]

>>>mystring
>>>"54321"

>>> sorted(mytuple)
>>>[1, 2, 3, 4, 5]

>>> sorted(mylist)
>>>[1, 2, 3, 4, 5]


reverse()与sort的使用方式一样,而reversed()与sorted()的使用方式相同。

 复制代码代码如下:
>>> mylist=[5,4,3,2,1]
>>> mylist.reverse()
>>> mylist
>>>[1, 2, 3, 4, 5]


>>> for i in reversed(mylist):
>>>print i,
>>>1 2 3 4 5


通过序列的切片也可以达到“逆转”的效果
 

复制代码代码如下:
>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]

>>> mystring[::-1]

>>>'12345'
>>> mytuple[::-1]
>>>(1, 2, 3, 4, 5)
>>> mylist[::-1]

>>>[1, 2, 3, 4, 5]