您好,登錄后才能下訂單哦!
在Python中,要對字符串列表進行自定義排序,可以使用sorted()
函數并傳入一個key
參數,該參數是一個函數,用于指定排序依據。
例如,假設有一個字符串列表,其中每個字符串表示一個單詞,我們想按照單詞的長度進行排序。可以定義一個自定義比較函數,如下所示:
def compare_by_length(s):
return len(s)
然后,將該函數作為key
參數傳遞給sorted()
函數,如下所示:
words = ['apple', 'banana', 'pear', 'orange']
sorted_words = sorted(words, key=compare_by_length)
print(sorted_words) # ['pear', 'apple', 'banana', 'orange']
在上面的示例中,compare_by_length()
函數返回字符串的長度,sorted()
函數根據該長度對字符串列表進行排序。
除了按照字符串的長度進行排序外,還可以定義其他自定義比較函數,以滿足不同的排序需求。例如,可以按照字符串的字典序進行排序,可以定義一個比較函數如下:
def compare_lexicographically(s1, s2):
return (s1 > s2) - (s1 < s2)
然后,將該函數作為key
參數傳遞給sorted()
函數,如下所示:
words = ['apple', 'banana', 'pear', 'orange']
sorted_words = sorted(words, key=functools.cmp_to_key(compare_lexicographically))
print(sorted_words) # ['apple', 'banana', 'orange', 'pear']
在上面的示例中,compare_lexicographically()
函數比較兩個字符串的字典序,sorted()
函數根據該比較結果對字符串列表進行排序。注意,functools.cmp_to_key()
函數將比較函數轉換為鍵函數,以便將其傳遞給sorted()
函數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。