以下是“Python列表中常见的一些排序方法”的完整攻略。
1. 列表排序的概述
在Python中,我们可以使用内置的sort()函数或sorted()函数来对进行。sort()函数是在原地排序,即直接修改原始列表,而sorted()函数则是返回一个新的排序后的列表。
2. sort()函数的使用
sort()函数是在原地排序,即直接修改原始列表。sort()函数有两个可选参数:reverse和key。reverse参数用于指定排序的顺序,如果reverse=True,则按照降序排序;如果reverse=False,则按照升序排序。key参数用于指定排序的关键字,即按照哪个属性进行排序。
2.1 升序排序
我们可以使用sort()函数对列表进行升序排序。例如:
number_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
number_list.sort()
print(number_list)
在上面代码中,我们使用sort()函数对number_list进行升序排序,并使用print()函数输出结果。
期望的输出结果是:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
2.2 降序排序
我们使用sort()函数列表进行降序排序。例如:
number_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
number_list.sort(reverse=True)
print(number_list)
在上面的代码中,我们使用sort()函数对number_list进行降序排序,并使用print()函数输出结果。
期望的输出结果:
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
2.3 按照关键字排序
我们可以使用sort()函数按照关字对列表进行排序。例如:
student_list = [('Tom', 18), ('Jerry', 20), ('Lucy', 19), ('Bob', 17)]
student_list.sort(key=lambda x: x[1])
print(student_list)
在上面的代码中,我们使用sort()函数按照学生的年龄对student_list进行排序,并使用print()函数输出结果。
期望的输出结果是:
[('Bob', 17), ('Tom', 18), ('Lucy', 19), ('Jerry', 20)]
示例说明
示例1:按照字符串长度排序
string_list = ['apple', 'banana', 'orange', 'pear']
string_list.sort(key=len)
print(string_list)
在上面的示例代码中,我们使用sort()函数按照字符串长度对string_list进行排序,并使用print()函数输出结果。
期望的输出结果是:
['pear', 'apple', 'banana', 'orange']
示例2:按照元素出现次数排序
number_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
number_list.sort(key=number_list.count, reverse=True)
print(number_list)
在上面的示例代码中,我们使用sort()函数按照元素出现次数对number_list进行排序,并使用()函数输出结果。
期望的输出结果是:
[5, 5, 5, 3, 3, 1, 1, 4, 9, 2, 6]
3. sorted()函数的使用
sorted()是返回一个新的排序后的列表,不会修改原始列表。sorted()函数的参数和sort()函数的参数相同。
3.1 升序排序
我们可以使用sorted()函数对列表进行升序排序。例如:
number_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(number_list)
print(new_list)
在上面的代码中,我们使用sorted()函数对number_list进行升序排序,并将结果存储在一个新的列表中。
期望的输出结果是:
[1, , 2, 3, 3, 4, 5, 5, 5, 6, 9]
3.2 降序排序
我们可以使用sorted()函数对列表进行降序排序。例如:
number_list = [3, 1, 4 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(number_list, reverse=True)
print(new_list)
在上面的代码中我们使用sorted()函数对number_list进行降序排序将结果存储在一个新的列表中。
期望的输出结果是:
``[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
### 3.3 按照关键字排序
我们可以使用sorted()函数按照关键字对列表进行排序。例如:
```python
student_list = [('Tom', 18), ('Jerry',20), ('Lucy', 19), ('Bob', 17)]
new_list = sorted(student_list, key=lambda x:[1])
print(new_list)
在上面的代码中,我们使用sorted()函数按照学生的年龄对student_list进行,并将结果存储在一个新的列表中。
期望的输出结果是:
[('Bob', 17), ('Tom', ), ('Lucy', 19), ('Jerry', 20)]
示例说明
1:按照字符串长度排序
string_list = ['apple', 'banana', 'orange', 'pear']
new_list = sorted(string_list, key=len)
print(new_list)
在上面的示例代码中,我们使用sorted()函数按照字符串长度对string_list进行排序,并将结果存储在一个新的列表中。
期望的输出结果是:
['pear', 'apple 'banana', 'orange']
示例2:按照元素出现次数排序
number_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(number_list, key=number_list.count, reverse=True)
print(new_list)
在上面的示例代码中,我们使用sorted()函数按照元素出现次数对number_list进行排序,并将结果存储在一个新的列表中。
期望的结果是:
[5, 5 5, 3, 3, 1, 1, 4, 9, 2, 6]
4. 总结
在Python中,我们可以使用内置的sort()函数或sorted()函数来对列表进行排序。sort()函数是原地排序,即直接原始列表,而sorted()函数则是返回一个新的排序后的列表。我们可以使用reverse参数来指定排序的序,使用key参数来指排序的关键字。在实际应用中,我们需要根据具体的需求来选择使用哪排序方法。
以上是“Python列表中常见的一些排序方法”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python列表中常见的一些排序方法 - Python技术站