在Python中,`sort()` 方法和 `sorted()` 函数都用于对元素进行排序,但它们在用法和返回值上有所不同。
1. `a.sort()` 方法:
- 这是一个就地(in-place)排序方法,直接修改列表 `a`。
- 它没有返回值,或者说返回 `None`。
- 使用 `a.sort()` 后,原列表 `a` 会被排序,且排序后的列表元素顺序会改变。
示例:
python
a = [100, 200, 555, 300, 400]
a.sort()
print(a) # 输出: [100, 300, 400, 200, 555]
2. sorted(a)` 函数**:
- 这是一个函数,返回一个新的列表,原列表 `a` 不会被修改。
- 它接收一个可迭代对象作为参数,并返回一个新的列表,其中包含输入的元素,但按排序顺序排列。
- 你可以指定 `key` 参数来自定义排序逻辑,例如按字符串长度或按对象的某个属性排序。
示例:
```python
a = [100, 200, 555, 300, 400]
b = sorted(a)
print(b) # 输出: [100, 300, 400, 200, 555]
print(a) # 输出: [100, 200, 555, 300, 400],原列表不变
```
总结:
- 使用 `a.sort()` 直接在原列表上进行排序。
- 使用 `sorted(a)` 获取一个新的排序后的列表,原列表不变。