一、sort函數概述
sort()方法是列表list的內置方法,用於將列表中元素進行排序。它可以按指定規則對列表元素進行排序,也可使用默認規則進行排序。具體來說,sort()方法可以實現從小到大排序、從大到小排序,還可以排序字符串、元組等數據類型。
# 默認從小到大排序
my_list = [3,5,1,7,2]
my_list.sort()
print(my_list)
# 輸出:[1,2,3,5,7]
sort()方法還有其他參數可以設置(reverse、key等),可以根據需求進行使用。
二、從小到大排序
使用sort()方法的默認規則對列表進行排序,可以實現從小到大排序。
# 從小到大排序
numbers = [3,5,1,7,2]
numbers.sort()
print(numbers)
# 輸出:[1,2,3,5,7]
三、從大到小排序
如果需要對列表元素進行從大到小的排序,可以在sort()方法中使用參數reverse=True。
# 從大到小排序
numbers = [3,5,1,7,2]
numbers.sort(reverse=True)
print(numbers)
# 輸出:[7,5,3,2,1]
四、排序字符串
sort()方法同樣可以排序字符串。默認按照字典序排序,即按照首字母排序。
# 將字符按字典序排序
my_strings = ['cat','apple','dog','banana']
my_strings.sort()
print(my_strings)
# 輸出:['apple', 'banana', 'cat', 'dog']
如果需要按照字符串長度進行排序,可以使用len函數作為key參數值。
# 將字符按字符串長度排序
my_strings = ['cat','apple','dog','banana']
my_strings.sort(key=len)
print(my_strings)
# 輸出:['cat', 'dog', 'apple', 'banana']
五、排序元組
sort()方法同樣可以排序元組。默認按照元組的第一個位置排序,如果第一項相同,則進行第二項比較,以此類推。
# 將元組排序
my_tuples = [(5,'dog','abc'),(2,'cat','xyz'),(8,'lion','ij')]
my_tuples.sort()
print(my_tuples)
# 輸出:[(2, 'cat', 'xyz'), (5, 'dog', 'abc'), (8, 'lion', 'ij')]
如果需要指定按照哪個位置比較,可以使用lambda函數作為key參數值。
# 將元組按第二項排序
my_tuples = [(5,'dog','abc'),(2,'cat','xyz'),(8,'lion','ij')]
my_tuples.sort(key=lambda x:x[1])
print(my_tuples)
# 輸出:[(2, 'cat', 'xyz'), (5, 'dog', 'abc'), (8, 'lion', 'ij')]
六、注意事項
sort()方法會改變原列表元素的位置,如果需要排序結果不影響原列表,可以使用sorted()內置函數。
# 不影響原列表元素排序
original_list = [3,5,1,7,2]
new_list = sorted(original_list)
print(original_list)
# 輸出:[3, 5, 1, 7, 2]
print(new_list)
# 輸出:[1, 2, 3, 5, 7]
此外,當列表中存在數字和字符串混合等不同數據類型時,需要注意排序規則的指定。
七、總結
sort()方法是Python中常用的列表排序方法,可以根據需求對列表中的元素進行從小到大排序、從大到小排序、字符串排序、元組排序等。注意排序規則的指定,以及在需要保留原列表時使用sorted()內置函數。
原創文章,作者:PVMN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/133128.html