







a = [1, 3, 2, 5, 4]
sorted_a = sorted(a)
print("a = ", a)
print("sorted_a =", sorted_a)
sorted_a = sorted(a, reverse=True)
print("sorted_a (reverse) =", sorted_a)
from functools import cmp_to_key
# 自定义比较函数
def cmp(a, b):
# 按照绝对值从小到大
if abs(a) < abs(b):
return -1
elif abs(a) > abs(b):
return 1
else:
return 0
# 原始列表
a = [-2, 1, -3, -5, 4]
# 使用自定义比较函数排序
sorted_a = sorted(a, key=cmp_to_key(cmp))
# 打印排序后的结果
print("按照绝对值从小到大:", sorted_a)
from functools import cmp_to_key
# 自定义比较函数
def cmp(a, b):
# 首先比较元组的和
if sum(a) < sum(b):
return -1
elif sum(a) > sum(b):
return 1
else:
# 如果和相同,比较元组的第一个元素
if a[0] < b[0]:
return -1
elif a[0] > b[0]:
return 1
else:
return 0
# 原始列表
a = [(2, 3), (5, -2), (4, 5), (5, 0), (4, 1)]
# 使用自定义比较函数排序
sorted_a = sorted(a, key=cmp_to_key(cmp))
# 打印排序后的结果
print("按照自定义排序:", sorted_a)
from functools import cmp_to_key
# 自定义比较函数
def cmp(a, b):
# 当a的长度小于b的长度时返回负数
if len(a) < len(b):
return -1
# 当a的长度大于b的长度时返回正数
elif len(a) > len(b):
return 1
# 当a和b的长度相等时,按照字母顺序排序
else:
if a <= b:
return -1
else:
return 1
# 原始列表
a = ["Python", "Swift", "Java", "C++", "GO", "Rust"]
# 按照默认排序
sorted_a = sorted(a)
print("按照默认排序:", sorted_a)
# 按照自定义排序
sorted_a = sorted(a, key=cmp_to_key(cmp))
print("按照自定义排序:", sorted_a)
# 定义一个列表,注意元素之间用逗号分隔
a = [1,3,2,5,4]
# 使用sorted函数对列表进行排序,并将结果赋值给一个新的变量
sorted_a = sorted(a)
# 打印原始列表和排序后的列表
print("a = ", a)
print("sorted a = ", sorted_a)
# 对原始列表进行就地排序(不返回新列表,而是修改原始列表)
a.sort()
# 打印排序后的原始列表
print("a = ", a)
print("sorted a = ", sorted_a)
from functools import cmp_to_key
# 自定义规则:当 |a| < |b| 返回负数,当 |a| > |b| 返回正数,二者相等返回 0
def cmp(a, b):
# 按照绝对值从小到大
if abs(a) < abs(b):
return -1
elif abs(a) > abs(b):
return 1
else:
return 0
# 定义列表 a
a = [-2, 1, -3, -5, 4]
# 使用自定义的比较函数对列表进行排序
a.sort(key=cmp_to_key(cmp))
# 打印排序后的列表
print("按照绝对值从小到大:", a)