内置函数sorted()
返回给定可迭代的排序列表。排序可以是升序或降序。如果 iterable 是字符串,则按字母顺序排序;如果是数字,则按数字排序。对于既是字符串又是数字且无法排序的可重复项。
**已排序(iterable,key=None,reverse=False)** #其中iterable可以是字符串,元组,列表,集合,字典冻结集合)
取三个参数。根据key函数的返回值,我们可以对给定的iterable进行如下排序
已排序(可迭代,key=len)
参数 | 描述 | 必需/可选 |
---|---|---|
可迭代 | 序列(字符串、元组、列表)或集合(集合、字典、冻结集合)或任何其他迭代器。 | 需要 |
的反面 | 如果为 true,则排序列表将反转(或按降序排序)。如果未提供,则默认为 false。 | 可选 |
键 | 用作排序比较关键字的函数。默认为“无”。 | 可选 |
这个 sorted()
方法类似于 sorted()
,不同之处在于 sorted()
不返回值。
|输入 |返回值| |可重复|排序列表 |
sorted()
方法示例 # 元音列表 pyth 'a', 'u', 'o', 'i']
打印(已排序(python_list))
# 字符串 python
打印(已排序(python_string))# 元音元组 pyth 'a', 'u', 'o', 'i')
打印(已排序(python_tuple))
输出:
['a', 'e', 'i', 'o', 'u']
['P'、'h'、'n'、'o'、't'、'y']
[‘a’、‘e’、‘i’、‘o’、‘u’]
# 设置 python 'a', 'u', 'o', 'i'}
打印(排序(python_set,反向= True))
# 字典 pyth 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5}
打印(排序(python_dict,反向= True))
# 冻结集
freeze_set = freezeset(('e', 'a', 'u', 'o', 'i'))
打印(排序(frozen_set,反向= True))
输出:
['u', 'o', 'i', 'e', 'a']
[‘u’、‘o’、‘i’、‘e’、‘a’]
['u', 'o', 'i', 'e', 'a']
sorted()
和 key 函数 # 取第二个元素进行排序
def take_second(elem):
返回元素[1]
# 随机列表
随机数 = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 使用键对列表进行排序
sorted_keylist = 排序(randomnum, key=take_second)
# 打印列表
print('排序列表:',sorted_keylist)
输出:
排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]
# 科学奥林匹克竞赛中学生信息的嵌套列表
# 列表元素:(学生姓名、满分 100 分、年龄)
学生列表 = [
('艾莉森', 50, 18),
('特伦斯', 75, 12),
('大卫', 75, 20),
('吉米', 90, 22),
(“约翰”,45、12)
]
输出:
[('吉米', 90, 22), ('特伦斯', 75, 12), ('大卫', 75, 20), ('艾莉森', 50, 18), ('约翰', 45 , 12)]