51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

python3学习笔记--两种排序方法

列表排序方法 {#列表排序方法}

  • sort():仅对list对象进行排序,会改变list自身的顺序,没有返回值,即原地排序
  • sorted():对所有可迭代对象进行排序,返回排序后的新对象,原对象保持不变;

sort() {#sort}

list.sort(key=None, reverse=False)

  • key:设置排序方法,或指定list中用于排序的元素;
  • reverse:升降序排列,默认为升序排列;

例子:

nums = [2, 3, 5, 1, 6]
nums.sort()
print(nums)  # [1, 2, 3, 5, 6]
nums.sort(key=None, reverse=True)
print(nums)  # [6, 5, 3, 2, 1]
`students = [('john', 'C', 15), ('jane', 'A', 12), ('dave', 'B', 10)]
students.sort(key=lambda x: x[2])  # 按照列表中第三个元素排序
print(students)  # [('dave', 'B', 10), ('jane', 'A', 12), ('john', 'C', 15)]
`

sorted() {#sorted}

sorted(iterable [, key[, reverse]])

  • key :设置排序方法,或指定迭代对象中,用于排序的元素;
  • reverse :升降序排列,默认为升序排列;

例子:

nums = [2, 3, 5, 1, 6]
newNums = sorted(nums)
print(nums)  # [2, 3, 5, 1, 6]
print(newNums)  # [1, 2, 3, 5, 6]
students = [('john', 'C', 15), ('jane', 'A', 12), ('dave', 'B', 10)]
newStudents = sorted(students, key=lambda x: x[1])
print(students)  # [('john', 'C', 15), ('jane', 'A', 12), ('dave', 'B', 10)]
print(newStudents)  # [('jane', 'A', 12), ('dave', 'B', 10), ('john', 'C', 15)]
赞(0)
未经允许不得转载:工具盒子 » python3学习笔记--两种排序方法