Python每天3分钟 #049 – sort和sorted的细微但重要的区别

欢迎访问Python每天3分钟系列。

每天花3分钟时间,学习或温习一个Python知识点。今天是第049篇:

sort和sorted的细微但重要的区别

给一个列表排序,可以用sort()函数,也可用sorted()方法。

它们的功能和名称都很类似,但是理解它们的区别又很重要:

  • sort() 在原列表上直接原地排序,会改变原列表。
  • sorted() 会创建一个新的列表,不会改变原列表。

sort()的例子

foods = ['milk', 'bread', 'tea']
print('foods: {}'.format(foods))
foods.sort()
print('foods: {}'.format(foods))

打印结果:

foods: ['milk', 'bread', 'tea']
foods: ['bread', 'milk', 'tea']

sort()是foods对象一个方法,它直接改变了对象本身。

sorted()的例子

foods = ['milk', 'bread', 'tea']
new_foods = sorted(foods)
print('foods: {}'.format(foods))
print('new_foods: {}'.format(new_foods))

打印结果:

foods: ['milk', 'bread', 'tea']
foods: ['milk', 'bread', 'tea']
new_foods: ['bread', 'milk', 'tea']

使用sorted()函数前后,foods列表并没有变化。sorted()函数是Python的内置函数,它用排好序的列表生成了一个新的对象new_foods。

原文链接:http://www.zsiss.com/5642.html,转载请注明出处。

0

评论0

请先

爱分享推出ChatGPT国内镜像,无需魔法直接用!写文章,写代码,做PPT,做网站原创软文效果好到爆炸 https://chat.gcrup.com

社交账号快速登录