如何使用带有实际示例的sort函数。在Python中,我们可以使用此函数对列表、字典、元组、集合和字符串等对象进行反向排序,这是最常被问到的问题之一。
在Python编程中,我们有组织对象的函数,它们是sort(仅适用于列表项)和sorted(用于其他对象)。这些函数的语法是
# List Items using Functions in Reverse list_Name.sort(reverse = True, key = Function_Name) # 1x # Reverse using Functions sorted(Object_Name, reverse = True, key = Function_Name) # 2
从上面的sort语法来看,如果你观察语句1和2
- reverse和key参数及其值都是可选的。因此,你可以选择使用其中一个、两者都使用或都不使用。在这里,Python的sort reverse参数用于按反向或降序排列元素。接下来,Function_name用于为其传递名称。
- 此方法接受Object_Name作为必需参数。在这里,reverse和key参数及其值也是可选的。
在这里,FunctionName可以是任何用户定义的函数。或者,您可以使用Python内置函数,如len、min、max等。
Python sort List Items 示例
如何使用此列表函数按升序和降序对列表项进行排序?
此列表函数对列表项进行升序排序。在此示例中,我们首先声明了一个整数列表。接下来,我们使用此方法按升序组织整数列表和字符串列表。在这里,此方法对字符串列表使用字母顺序。
提示:请参考List method文章,了解此方法在List项上的用法。
listexample = [13, 98, 45, 125, 6, 22, 9, 78] print(listexample) listexample.sort() print( listexample) liststring = ['orange', 'banana', 'kiwi', 'grape', 'blackberry'] print(liststring) liststring.sort() print(liststring)
[13, 98, 45, 125, 6, 22, 9, 78]
[6, 9, 13, 22, 45, 78, 98, 125]
['orange', 'banana', 'kiwi', 'grape', 'blackberry']
['banana', 'blackberry', 'grape', 'kiwi', 'orange']
Python Sort String List in Reverse(Python反向排序字符串列表)
sort函数包含一个名为reverse = True的参数。它允许我们将列表项按降序排列。在这里,我们使用reverse = true。这意味着字符串列表项按降序排序。
liststring = ['orange', 'blackberry', 'kiwi', 'grape', 'banana']
print("\nOriginal List String = ", liststring)
liststring.sort(reverse = True)
print("Result String List = ", liststring)
Original List String = ['orange', 'blackberry', 'kiwi', 'grape', 'banana']
Result String List = ['orange', 'kiwi', 'grape', 'blackberry', 'banana']
Python list sort with key argument Example(Python按键排序列表示例)
此列表方法还有另一个名为key的参数。此键接受任何函数,该函数决定排序因子。
在此示例中,我们创建了一个secondValue函数。它返回嵌套列表中的第二个参数。接下来,我们使用此方法作为键值。这意味着列表示例是根据嵌套列表中的第二个值排列的。
在接下来的代码行中,我们使用了reverse和key参数。这意味着列表项根据嵌套列表中的第二个值按升序和降序排序。
def secondValue(value):
return value[1]
listexample = [[17, 222], [222, 13], [14, 151], [99, 77]]
print("\n Original List = ", listexample)
# List in Ascending using Second item
listexample.sort(key = secondValue)
print("Asc using Second = ", listexample)
# List in Descending using Second item
listexample.sort(reverse = True, key = secondValue)
print("Descending List = ", listexample)
Original List = [[17, 222], [222, 13], [14, 151], [99, 77]]
Asc using Second = [[222, 13], [99, 77], [14, 151], [17, 222]]
Descending List = [[17, 222], [14, 151], [99, 77], [222, 13]]
Sort Tuple Examples(元组排序示例)
以下代码显示了如何按升序和降序对元组项进行排序。以下代码按升序排列整数元组中的元素。

Sort Tuple Reverse Example 2(元组反向排序示例2)
在此,我们首先声明了一个字符串元组。接下来,我们使用该函数对其进行升序排序。在这里,它对字符串元组使用字母顺序。
Python的sorted函数使用其名为reverse的参数来按降序排列元组项。以下代码按降序排列字符串元组元素。
tupleexample = ('orange', 'banana', 'kiwi', 'grape', 'blackberry')
print("\n Original Tuple = ", tupleexample)
# Tuple
descExm = sorted(tupleexample, reverse = True)
print("Descending Tuple = ", descExm)
Original Tuple = ('orange', 'banana', 'kiwi', 'grape', 'blackberry')
Descending Tuple = ['orange', 'kiwi', 'grape', 'blackberry', 'banana']
此元组排序函数还有另一个名为key的参数。此key参数接受任何方法,并决定排序因子。在此示例中,我们创建了一个函数来查找字符串的长度。
我们将此length方法用作键值。这意味着元组项按长度升序排序。接下来,我们使用reverse以及此key参数。它根据其长度按降序排列元组项。
def length(item):
return len(item)
tupleexample = ('orange', 'kiwi', 'grape', 'blackberry')
print("\n Original Tuple = ", tupleexample)
ascEx = sorted(tupleexample, key = length)
print("Tuple by Length = ", ascEx)
# Tuple
descEx = sorted(tupleexample, reverse = True, key = length)
print("Descending Tuple by Length = ", descEx)
tuple items output(元组项输出)
Original Tuple = ('orange', 'kiwi', 'grape', 'blackberry')
Tuple by Length = ['kiwi', 'grape', 'orange', 'blackberry']
Descending Tuple by Length = ['blackberry', 'orange', 'grape', 'kiwi']
Tuple sorted with reverse and key arguments(使用reverse和key参数排序的元组)
它允许您将任何内置函数用作sort key参数。此元组示例与上述相同。但是,我们使用len作为key参数。这意味着用户定义的长度替换了len方法。
tupleexm1 = ('orange', 'kiwi', 'grape', 'blackberry')
print("\n Original Tuple = ", tupleexm1)
# Tuple
descExm = sorted(tupleexm1, reverse = True, key = len)
print("Descending Tuple by Length = ", descExm)
Original Tuple = ('orange', 'kiwi', 'grape', 'blackberry')
Descending Tuple by Length = ['blackberry', 'orange', 'grape', 'kiwi']
Python Sorted Set Examples(Python排序集合示例)
以下示例显示了如何按升序和降序对set项进行排序。此函数是您可以用来按升序和降序排序集合项的函数。
在此集合示例中,我们首先声明了一个包含正值和负值的集合。接下来,我们使用此方法按升序排列它们。最后,我们使用集合函数和reverse参数按降序排列集合。
setExample = {22, -15, 17, 0, 12, -4, 7, 10}
print("\n Original Set = ", setExample)
print("\nAscending Set = ", sorted(setExample))
descSet = sorted(setExample, reverse = True)
print("Descending = ", descSet)
Original Set = {0, 7, 10, 12, -15, 17, 22, -4}
Ascending Set = [-15, -4, 0, 7, 10, 12, 17, 22]
Descending = [22, 17, 12, 10, 7, 0, -4, -15]
Python Sorted Set in Reverse Example(Python反向排序集合示例)
在此示例中,我们将此函数用于字符串值集合 — 以下代码按反向或降序对字符串集合进行排序。
setStringExample = {'mango', 'kiwi', 'apple', 'orange', 'banana'}
print("\n Original Set = ", setStringExample)
descStrSet = sorted(setStringExample, reverse = True)
print("Set in Descending = ", descStrSet)
Original Set = {'kiwi', 'mango', 'apple', 'banana', 'orange'}
Set in Descending = ['orange', 'mango', 'kiwi', 'banana', 'apple']
如何在集合排序中使用reverse和key参数?
此示例显示了如何对集合项使用key参数。在这里,我们声明了一个查找字符串长度的函数。接下来,我们将此Python sort函数用作集合项的键值。这意味着集合元素按长度升序排序。
在下一行,我们也使用了reverse参数。它根据长度按降序对集合元素进行排序。
def stringlength(item):
return len(item)
setCountryExample = {'USA', 'UK', 'Canada', 'India', 'Australia'}
print("\n Original = ", setCountryExample)
ascCountrySet = sorted(setCountryExample, key = stringlength)
print("\nString Set = ", ascCountrySet)
descCountrySet = sorted(setCountryExample, reverse = True, key = stringlength)
print("Desc = ", descCountrySet)
Original = {'UK', 'Australia', 'Canada', 'India', 'USA'}
String Set = ['UK', 'USA', 'India', 'Canada', 'Australia']
Desc = ['Australia', 'Canada', 'India', 'USA', 'UK']
此集合示例与上述示例相同。我们只是用内置的标准len函数替换了用户定义的函数。
setCountryExample = {'USA', 'UK', 'Canada', 'India', 'Australia'}
print("\n Original = ", setCountryExample)
descCountrySet = sorted(setCountryExample, reverse = True, key = len)
print("Desc = ", descCountrySet)
Original = {'Australia', 'India', 'UK', 'Canada', 'USA'}
Desc = ['Australia', 'Canada', 'India', 'USA', 'UK']
Python Sort String Examples(Python排序字符串示例)
本节将向您展示如何按升序和降序对字符串进行排序。
您不能直接在字符串项上使用此功能。要实现这一点,我们首先对其进行升序排序。它将字符串拆分为单个字符。接下来,我们使用join方法将单个字符连接起来。
首先,我们声明了一个字符串。接下来,我们使用此方法和join方法按升序对其进行排序。在这里,此方法按字母顺序排列字符串中的字符。接下来,我们使用reverse= true参数按降序排列字符串。
stringExample = 'tutorialgateway'
print("\n Original String = ", stringExample)
newString = ''.join(sorted(stringExample))
print("\n String in Ascending = ", newString)
descString = ''.join(sorted(stringExample, reverse = True))
print("\n String in Descending = ", descString)
Original String = tutorialgateway
String in Ascending = aaaegilortttuwy
String in Descending = ywutttroligeaaa
Python Sort Dictionary Examples(Python排序字典示例)
以下示例显示了如何按升序和降序对字典项进行排序。我们可以对字典项使用相同的函数按升序和降序排列它们。在这里,我们使用keys、values和items函数从字典中提取键、值和项。
在此示例中,我们声明了一个字典。接下来,我们使用此方法按升序对字典键进行排序。第二,我们对字典值进行操作以按升序排列字典值。第三,我们使用它按字典键对完整的字典项进行排序。
dictIntExample = {1: 10, 4: 70, 3: 30, 5: 50, 2: 200 }
print("\nOriginal Dictionary = ", dictIntExample)
ascKDictionary = sorted(dictIntExample.keys())
print("\nDictionary Keys in Ascending = ", ascKDictionary)
ascVDictionary = sorted(dictIntExample.values())
print("Dictionary Vals in Ascending = ", ascVDictionary)
ascDictionary = sorted(dictIntExample.items())
print("Dictionary in Ascending= ", ascDictionary)
Original Dictionary = {1: 10, 4: 70, 3: 30, 5: 50, 2: 200}
Dictionary Keys in Ascending = [1, 2, 3, 4, 5]
Dictionary Vals in Ascending = [10, 30, 50, 70, 200]
Dictionary in Ascending= [(1, 10), (2, 200), (3, 30), (4, 70), (5, 50)]
如果在上述示例中添加reverse参数,则字典的键、值和项将按反向或降序排列。
按反向排序字典的键和值
在此Dictionary示例中,我们使用了reverse参数并将值赋为True。以下代码按降序对字典键、值和项执行操作。
dictStrExm = {3: 'cherry', 10: 'banana' , 5: 'orange', 9: 'kiwi'}
print("\nOriginal = ",dictStrExm)
descKDictionary = sorted(dictStrExm.keys(), reverse = True)
print("\nKeys in Desc = ", descKDictionary)
descVDictionary = sorted(dictStrExm.values(), reverse = True)
print("Values in Desc = ", descVDictionary)
descDictionary = sorted(dictStrExm.items(), reverse = True)
print("Dictionary in Desc= ", descDictionary)
Original = {3: 'cherry', 10: 'banana', 5: 'orange', 9: 'kiwi'}
Keys in Desc = [10, 9, 5, 3]
Values in Desc = ['orange', 'kiwi', 'cherry', 'banana']
Dictionary in Desc= [(10, 'banana'), (9, 'kiwi'), (5, 'orange'), (3, 'cherry')]