sort 与 sorted的区别和练习
时间: 2023-11-20 07:59:41 浏览: 78
sort()和sorted()都是Python中用于排序的函数,但它们有以下区别:
1. sort()是应用于列表的方法,sorted()可以对任何可迭代对象进行排序。
2. sort()会直接修改原始列表,而sorted()会返回一个新的排序列表,原始对象不会被修改。
3. sort()没有返回值,而sorted()返回已排序的列表。
以下是sort()和sorted()的使用示例:
1. sort()的使用示例:
```python
list1 = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
list1.sort()
print(list1) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
2. sorted()的使用示例:
```python
list2 = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(list2)
print(new_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
练习:
请你写一个函数,接受一个字符串列表作为参数,并按字母顺序排序。函数应该返回一个新的已排序列表,而不修改原始列表。
```python
def sort_strings(str_list):
return sorted(str_list)
# 示例
str_list = ['apple', 'banana', 'orange', 'pear']
new_list = sort_strings(str_list)
print(new_list) # 输出:['apple', 'banana', 'orange', 'pear']
print(str_list) # 输出:['apple', 'banana', 'orange', 'pear'],原始列表未被修改
```
阅读全文