一. 内置函数: sorted()
sorted() 函数对所有可迭代的对象进行排序操作。
sorted(iterable, key=None, reverse=False)
参数说明:
二. List sort()方法
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
list.sort( key=None, reverse=False)
参数说明:
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法是对已经存在的列表进行操作, 返回内容为空
而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
def list_one(n):
"""
利用列表自带方法 .sort()
:param n: 列表中有数值数
:return: 列表排序后结果
"""
# 生成随机数值 方法一
# list_dic = [random.randint(1, 100) for i in range(n)]
# 生成随机数值 方法二
list_dic = random.sample(range(1, 101), n)
# 注意: 列表sort只是一个方法,返回的值为None,但列表内容已经被排序修改
list_dic.sort(reverse=True)
return list_dic
def list_two(n):
"""
利用公共方法 sorted()
:param n: 列表中有数值数
:return: 列表排序后结果
"""
# 生成随机数值 方法一
# list_dic = [random.randint(1, 100) for i in range(n)]
# 生成随机数值 方法二
list_dic = random.sample(range(1, 101), n)
list_dic = sorted(list_dic, reverse=True)
return list_dic
相比列表排序,字典排序会麻烦一点,且不是真正的把字典内容修改,只是利用排序后的内容
def dict_one():
"""
主要用到了字典中的内置方法 .items()
:return: 字典排序后结果
"""
scores = {
'语文': 89, '数学': 92, '英语': 93}
dict_sort = sorted(scores.items(), key=lambda x: x[1], reverse=True)
return dict_sort
def dict_two():
"""
思路是将字典中的key和value提取出来并且换个位置,
利用zip内置函数打包在一块
:return: 字典排序后结果
"""
scores = {
'语文': 89, '数学': 92, '英语': 93}
dict_sort = list(zip(scores.values(), scores.keys()))
# 注意: 列表sort只是一个方法,返回的值为None,但列表内容已经被排序修改
dict_sort.sort(key=lambda x: x[0], reverse=True)
return dict_sort
import random
"""
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法是对已经存在的列表进行操作, 返回内容为空
而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
"""
def list_one(n):
"""
利用列表自带方法 .sort()
:param n: 列表中有数值数
:return: 列表排序后结果
"""
# 生成随机数值 方法一
# list_dic = [random.randint(1, 100) for i in range(n)]
# 生成随机数值 方法二
list_dic = random.sample(range(1, 101), n)
# 注意: 列表sort只是一个方法,返回的值为None,但列表内容已经被排序修改
list_dic.sort(reverse=True)
return list_dic
def list_two(n):
"""
利用公共方法 sorted()
:param n: 列表中有数值数
:return: 列表排序后结果
"""
# 生成随机数值 方法一
# list_dic = [random.randint(1, 100) for i in range(n)]
# 生成随机数值 方法二
list_dic = random.sample(range(1, 101), n)
list_dic = sorted(list_dic, reverse=True)
return list_dic
# 相比列表排序,字典排序会麻烦一点,且不是真正的把字典内容修改,只是利用排序后的内容
def dict_one():
"""
主要用到了字典中的内置方法 .items()
:return: 字典排序后结果
"""
scores = {
'语文': 89, '数学': 92, '英语': 93}
dict_sort = sorted(scores.items(), key=lambda x: x[1], reverse=True)
return dict_sort
def dict_two():
"""
思路是将字典中的key和value提取出来并且换个位置,
利用zip内置函数打包在一块
:return: 字典排序后结果
"""
scores = {
'语文': 89, '数学': 92, '英语': 93}
dict_sort = list(zip(scores.values(), scores.keys()))
# 注意: 列表sort只是一个方法,返回的值为None,但列表内容已经被排序修改
dict_sort.sort(key=lambda x: x[0], reverse=True)
return dict_sort
if __name__ == '__main__':
func = [list_one(10), list_two(10), dict_one(), dict_two()]
for i in func:
print(i)