sort和sorted函数的区别
时间: 2023-08-20 15:17:40 浏览: 54
sort和sorted都是用于对列表进行排序的函数。它们的区别在于:
1. sort是列表方法,sorted是内置函数。
2. sort会直接修改原列表,而sorted会返回一个新的排序后的列表,原列表不变。
3. sort没有返回值,sorted会返回排序后的列表。
4. sort可以接受一个关键字参数key,用于指定排序的规则,而sorted也可以接受这个参数,但是要写在括号里面。
例如:
```python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
lst.sort()
print(lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_lst = sorted(lst)
print(lst) # [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(new_lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
lst = ['apple', 'banana', 'Cherry', 'date']
lst.sort(key=str.lower)
print(lst) # ['apple', 'banana', 'Cherry', 'date']
lst = ['apple', 'banana', 'Cherry', 'date']
new_lst = sorted(lst, key=str.lower)
print(lst) # ['apple', 'banana', 'Cherry', 'date']
print(new_lst) # ['apple', 'banana', 'Cherry', 'date']
```