当前位置:   article > 正文

python中sort()和sorted()排序函数用法详解_sorted函数python

sorted函数python

python中对数据的排序主要使用sort()和sorted()方法。

1、sort()方法

语法结构:

列表序列.sort( key=None, reverse=False)

注意: reverse 表示排序规则, reverse = True 降序, reverse = False 升序(默认)

示例代码1:

  1. num_list1 = [1, 5, 2, 3, 6, 8]
  2. num_list1.sort()
  3. # 结果:[1, 2, 3, 5, 6, 8]
  4. print(num_list1)
  5. num_list2 = [1, 5, 2, 3, 6, 8]
  6. num_list2.sort(reverse=True)
  7. # 结果:[8, 6, 5, 3, 2, 1]
  8. print(num_list2)

运行结果:

示例代码2:

  1. num_list1 = [("b", 2), ("a", 1), ("c", 5), ("d", 4)]
  2. num_list1.sort()
  3. print(num_list1)
  4. num_list2 = [("b", 2), ("a", 1), ("c", 5), ("d", 4)]
  5. num_list2.sort(key=lambda x: x[1], reverse=True)
  6. print(num_list2)

运行结果:

示例代码3:

  1. students = [
  2. {'name': 'TOM', 'age': 20},
  3. {'name': 'ROSE', 'age': 19},
  4. {'name': 'Jack', 'age': 22}
  5. ]
  6. students.sort(key=lambda x: x['name'], reverse=True)
  7. print(students)
  8. students.sort(key=lambda x: x['age'], reverse=True)
  9. print(students)

运行结果:

2、sorted()方法

语法结构:

sorted(*args, **kwargs)

示例代码1:

  1. num_list1 = [1, 5, 2, 3, 6, 8]
  2. ret = sorted(num_list1)
  3. print(num_list1)
  4. print(ret)
  5. print("*" * 100)
  6. num_list2 = [1, 5, 2, 3, 6, 8]
  7. ret2 = sorted(num_list2, reverse=True)
  8. print(num_list2)
  9. print(ret2)

运行结果:

示例代码2:

  1. num_list1 = [("b", 2), ("a", 1), ("c", 5), ("d", 4)]
  2. ret = sorted(num_list1)
  3. print(num_list1)
  4. print(ret)
  5. print("*" * 100)
  6. num_list2 = [("b", 2), ("a", 1), ("c", 5), ("d", 4)]
  7. ret2 = sorted(num_list2, key=lambda x: x[1], reverse=True)
  8. print(ret2)
  9. print("*" * 100)
  10. num_list3 = [("b", 2), ("a", 1), ("c", 5), ("d", 4)]
  11. ret3 = sorted(map(lambda x: x[1], num_list3), reverse=True)
  12. print(ret3)

运行结果:

示例代码3:

  1. students = [
  2. {'name': 'TOM', 'age': 20},
  3. {'name': 'ROSE', 'age': 19},
  4. {'name': 'Jack', 'age': 22}
  5. ]
  6. ret = sorted(students, key=lambda x: x['name'], reverse=True)
  7. print(ret)
  8. ret2 = sorted(students, key=lambda x: x['age'], reverse=True)
  9. print(ret2)

运行结果;

3、sort()和sorted()区别

  • sort 是应用在 list 上的方法,而sorted 可以对所有可迭代的对象进行排序操作,是python内置的全局方法;
  • sort是对原有列表进行操作,而sorted返回的是一个新的可迭代对象,不会改变原来的对象;
  • sort使用方法为list.sort(), 而sorted的使用方法为sorted(list)
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号