Menu
CoddyTech

复习挑战:Lambda 排序

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 59 课,共 78 课。

Lambda 函数搭配 sorted() 函数使用非常有用,可以根据不同场景自定义排序。下面是几个示例:

按长度排序字符串:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# 输出:['Bob', 'Alice', 'Diana', 'Charlie']

按值对字典排序:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# 输出:[('Charlie', 78), ('Alice', 85), ('Bob', 90)]

按绝对值排序数字:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# 输出:[-10, 15, -20, 25]

按多个条件对元组排序:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# 输出:[('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

挑战

简单

创建一个名为 sort_tuples 的函数,它接收一个元组列表 data 作为参数。data 中的每个元组都包含两个元素:一个字符串和一个数字。函数应结合使用 sorted() 函数和 lambda 函数,根据每个元组的第二个元素(数字)按升序对元组列表进行排序。函数应返回排序后的元组列表。

亲手试试

def sort_tuples(data):
    # 在这里编写代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Python 在线编译器