您的位置:首页 > 其它

sort()、reverse()与sorted()、reversed()的区别

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

>
>
>

a=
[
5,
4,
3,
2,
1]

>
>
>
a.
sort(
)

>
>
>

>
>
>

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'
]

>
>
>
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]

>
>
>

mylist=
[
5,
4,
3,
2,
1]

>
>
>
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]


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: