Python中的sorted()函数可用于对列表、元组、字典等数据类型进行排序。
使用方法:sorted(iterable, key=None, reverse=False)
其中,iterable是要排序的数据(列表、元组等),key是排序依据(默认为None,即按照元素本身大小排序),reverse是排序方式(默认为升序,reverse=True为降序)。
以下是两个示例:
- 对一个列表进行升序排列
# 定义一个列表
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 使用sorted对列表进行升序排列
lst_sorted = sorted(lst)
# 输出排序后的结果
print(lst_sorted)
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
- 对一个字典按照值排序
# 定义一个字典
dct = {"cat": 5, "dog": 10, "elephant": 3, "cow": 1}
# 使用sorted对字典按照值进行排序
dct_sorted = sorted(dct.items(), key=lambda x: x[1])
# 输出排序后的结果
print(dct_sorted)
输出:
[('cow', 1), ('elephant', 3), ('cat', 5), ('dog', 10)]
在示例2中,先使用字典的items()方法将字典转化为可迭代对象,然后使用sorted函数按照值进行排序。这里要注意的是,sorted函数默认是按照元素本身大小进行排序的,所以在对字典排序时需要添加key参数并设置为按照值排序。另外,这里还使用了lambda表达式作为key函数,lambda表达式返回的是字典的值,即第二个元素。