Python sorted()

更新:

内置函数sorted()返回给定 iterable 的排序列表。排序可以是升序或降序。如果 iterable 是字符串,则按字母顺序排序;如果是数字,则按数字排序。对于既有字符串又有不能排序的数字的可重复项。

 **sorted(iterable, key=None, reverse=False)** #where iterable may be string, tuple, list,set, dictionary frozen set) 

排序的()参数:

取三个参数。根据 key 函数的返回值,我们可以对给定的 iterable 进行如下排序

已排序(可迭代,key=len)

参数 描述 必需/可选
可迭代的 序列(字符串、元组、列表)或集合(集合、字典、冻结集合)或任何其他迭代器。 需要
反面的 如果为真,则排序列表反转(或按降序排序)。如果未提供,则默认为假。 可选择的
用作排序比较的关键字的函数。默认为无。 可选择的

排序的()返回值

这个sorted()方法类似于sorted(),不同的是sorted()不返回值。

| 投入 | 返回值 | | 可重复的 | 排序列表 |

Python 中的sorted()方法示例

示例 1:如何对字符串、列表和元组进行排序

 # vowels list pyth 'a', 'u', 'o', 'i']
print(sorted(python_list))

# string pyth
print(sorted(python_string))

# vowels tuple pyth 'a', 'u', 'o', 'i')
print(sorted(python_tuple)) 

输出:

['a', 'e', 'i', 'o', 'u']
['P', 'h', 'n', 'o', 't', 'y']
['a', 'e', 'i', 'o', 'u']

示例 2:如何按降序排序

 # set pyth 'a', 'u', 'o', 'i'}
print(sorted(python_set, reverse=True))

# dictionary pyth 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5}
print(sorted(python_dict, reverse=True))

# frozen set
frozen_set = frozenset(('e', 'a', 'u', 'o', 'i'))
print(sorted(frozen_set, reverse=True)) 

输出:

['u', 'o', 'i', 'e', 'a']
['u', 'o', 'i', 'e', 'a']
['u', 'o', 'i', 'e', 'a'] 

示例 3:如何使用具有键功能的sorted()对列表进行排序

 # take the second element for sort
def take_second(elem):
    return elem[1]

# random list
randomnum = [(2, 2), (3, 4), (4, 1), (1, 3)]

# sort list with key
sorted_keylist = sorted(randomnum, key=take_second)

# print list
print('Sorted list:', sorted_keylist) 

输出:

Sorted list: [(4, 1), (2, 2), (1, 3), (3, 4)] 

示例 4:如何使用多个键进行排序

 # Nested list of student's info in a Science Olympiad
# List elements: (Student's Name, Marks out of 100, Age)

student_list = [
    ('Alison', 50, 18),
    ('Terence', 75, 12),
    ('David', 75, 20),
    ('Jimmy', 90, 22),
    ('John', 45, 12)
] 

输出:

[('Jimmy', 90, 22), ('Terence', 75, 12), ('David', 75, 20), ('Alison', 50, 18), ('John', 45, 12)] 
顶部