Python中sort和sorted方法的异同

 用法: 

a = sorted(a)

sorted(iterable, /, *, key=None, reverse=False)
Return a new list containing all items from the iterable in ascending order.

a.sort() 

a.sort(*, key=None, reverse=False)
Stable sort *IN PLACE*. #表示直接修改a

 举几个例子:

a = [5,3,1,4,2]
a1 = sorted(a)
print('sorted:  a:{},a1:{}'.format(a,a1))
a.sort()
print('sort:  a:{}'.format(a))

输出:

sorted:  a:[5, 3, 1, 4, 2],a1:[1, 2, 3, 4, 5]
sort:  a:[1, 2, 3, 4, 5]

可以看出sorted并不会改变原来的列表,会返回一个新的列表;而sort会只改变原来的列表,没有返回值。

 

几种逆序的方法:

a = [1,2,3,4,5]
a1 = a[::-1]
print('逆序结果a1:{},a:{}'.format(a1,a))
a2 = sorted(a,reverse=True)
print('逆序结果a2:{},a:{}'.format(a2,a))
a.sort(reverse=True)
print('a:{}'.format(a))

输出:

逆序结果a1:[5, 4, 3, 2, 1],a:[1, 2, 3, 4, 5]
逆序结果a2:[5, 4, 3, 2, 1],a:[1, 2, 3, 4, 5]
a:[5, 4, 3, 2, 1]

但当a为字符串时,这几种方法得到的结果不同:

a = '6284351'
sorted(a),a[::-1]

输出:

(['1', '2', '3', '4', '5', '6', '8'], '1534826')
#报错
a.sort()  

输出:

AttributeError: 'str' object has no attribute 'sort'

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值