我们来详细讲解一下Python3排序的实例方法,主要涵盖以下内容:
- 内置的排序方法sorted和sort的区别和使用方法。
- Python3中使用sort方法对列表、元组、字典等数据类型进行排序的实例方法。
- Python3中使用sorted函数对列表、元组、字典等数据类型进行排序的实例方法。
内置的排序方法sorted和sort
Python3中内置了两个排序方法,sorted和sort。两者的区别在于,sorted方法返回一个新列表,原列表不发生改变,而sort方法直接在原列表上操作,不需要返回任何值。
排序列表
lst = [3, 2, 5, 1, 4]
#使用sorted方法对列表进行排序,并返回一个新列表
new_lst = sorted(lst)
print(new_lst) # [1, 2, 3, 4, 5]
print(lst) # [3, 2, 5, 1, 4]
#使用sort方法对列表进行排序
lst.sort()
print(lst) # [1, 2, 3, 4, 5]
排序元组
元组是不可变的,因此不能使用sort方法,需要使用sorted方法对元组进行排序:
tup = (3, 2, 5, 1, 4)
#使用sorted方法对元组进行排序,并返回一个新元组
new_tup = sorted(tup)
print(new_tup) # (1, 2, 3, 4, 5)
print(tup) # (3, 2, 5, 1, 4)
排序字典
字典是无序的,排序需要根据键或值进行操作。sorted方法可用于对字典的键或值进行排序。
根据键排序:
dct = {'b':2, 'a':1, 'c':3}
# 根据键排序, 返回一个排序后的键的列表
new_lst = sorted(dct)
print(new_lst) # ['a', 'b', 'c']
根据值排序:
# 根据值排序, 返回排序后的 (值, 键) 元组列表
new_lst = sorted(dct.items(), key=lambda x: x[1])
print(new_lst) # [('a', 1), ('b', 2), ('c', 3)]
sort方法对列表、元组、字典等数据类型的排序
sort方法对列表进行排序
sort方法只能对列表进行排序,对于其它的数据类型需要转换成列表后才能进行排序。
lst = [3, 2, 5, 1, 4]
lst.sort()
print(lst) # [1, 2, 3, 4, 5]
sort方法对元组进行排序
元组是不可变的,因此不能使用sort方法,需要将元组转换为列表后才能排序:
tup = (3, 2, 5, 1, 4)
lst = list(tup)
lst.sort()
print(lst) # [1, 2, 3, 4, 5]
sort方法对字典进行排序
字典是无序的,排序需要根据键或值进行操作。对于字典,我们可以通过排序键或排序值来对其进行排序。
根据键排序:
# 根据键排序
dct = {'b':2, 'a':1, 'c':3}
lst = sorted(dct.items())
print(lst) # [('a', 1), ('b', 2), ('c', 3)]
根据值排序:
# 根据值排序
dct = {'b':2, 'a':1, 'c':3}
lst = sorted(dct.items(), key=lambda x: x[1])
print(lst) # [('a', 1), ('b', 2), ('c', 3)]
sorted函数对列表、元组、字典等数据类型的排序
sorted函数对列表进行排序
sorted函数对列表进行排序和sort方法一样,只是返回的是新的排序列表,不影响原列表。
lst = [3, 2, 5, 1, 4]
new_lst = sorted(lst)
print(new_lst) # [1, 2, 3, 4, 5]
sorted函数对元组进行排序
元组是不可变的,因此不能使用sort方法,需要使用sorted函数对元组进行排序。
tup = (3, 2, 5, 1, 4)
new_tup = sorted(tup)
print(new_tup) # (1, 2, 3, 4, 5)
sorted函数对字典进行排序
字典是无序的,排序需要根据键或值进行操作。sorted函数可用于对字典的键或值进行排序。
根据键排序:
dct = {'b':2, 'a':1, 'c':3}
# 根据键排序
new_dct = dict(sorted(dct.items()))
print(new_dct) # {'a': 1, 'b': 2, 'c': 3}
根据值排序:
dct = {'b':2, 'a':1, 'c':3}
# 根据值排序
new_dct = dict(sorted(dct.items(), key=lambda x: x[1]))
print(new_dct) # {'a': 1, 'b': 2, 'c': 3}
以上就是Python3排序的实例方法的攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3排序的实例方法 - Python技术站