Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊

Python sorted() 使用方法及示例

Python 內(nèi)置函數(shù)

sorted()函數(shù)以迭代方式從項(xiàng)目返回排序列表。

sorted()函數(shù)以特定順序(升序降序)對(duì)給定的可迭代元素進(jìn)行排序。

sorted()的語法為:

sorted(iterable, key=None, reverse=False)

sorted()參數(shù)

sorted() 最多可以使用三個(gè)參數(shù):

  • iterable-序列(字符串,元組,列表)或集合(集合,字典,凍結(jié)集合)或任何其他迭代器。

  • reverse(可選) -如果為True,則已排序的列表將被反向(或以降序排列)。如果未提供,則默認(rèn)為False。

  • key(可選) -用作排序比較鍵的功能。默認(rèn)為None。

示例1:對(duì)字符串,列表和元組進(jìn)行排序

# 元音列表
py_list = ['e', 'a', 'u', 'o', 'i']
print(sorted(py_list))

# string 
py_string = 'Python'
print(sorted(py_string))

# 元音元組
py_tuple = ('e', 'a', 'u', 'o', 'i')
print(sorted(py_tuple))

輸出結(jié)果

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

注意:列表還具有sort()方法,它的執(zhí)行方式與sort()相同。惟一不同的是,sort()方法不返回任何值,并更改原始列表。

示例2:降序排序:集,字典和凍結(jié)集

sorted()函數(shù)接受一個(gè)reverse參數(shù)作為可選參數(shù)。

設(shè)置reverse = True按迭代順序?qū)傻鷮?duì)象進(jìn)行排序。

# set
py_set = {'e', 'a', 'u', 'o', 'i'}
print(sorted(py_set, reverse = True))

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

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

輸出結(jié)果

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

Python中的sorted()關(guān)鍵參數(shù)

如果希望使用自己的實(shí)現(xiàn)進(jìn)行排序,那么sort()也接受key函數(shù)作為可選參數(shù)。

根據(jù)鍵函數(shù)的結(jié)果,可以對(duì)給定的可迭代對(duì)象進(jìn)行排序。

sorted(iterable, key=len)

len() 是Python的內(nèi)置函數(shù),用于計(jì)算對(duì)象的長度。

列表根據(jù)元素的長度(從最低到最高計(jì)數(shù))進(jìn)行排序。

示例3:使用具有鍵函數(shù)的sorted()對(duì)列表進(jìn)行排序

# 以第二個(gè)元素為排序
def take_second(elem):
    return elem[1]

# 隨機(jī)列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]

# 鍵排序列表
sorted_list = sorted(random, key = take_second)

# 打印列表
print('排序的列表:', sorted_list)

輸出結(jié)果

排序的列表: [(4, 1), (2, 2), (1, 3), (3, 4)]

Python 內(nèi)置函數(shù)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清