您的位置:

Python sorted lambda 函数实例教程

一、sorted()函数的基本介绍

Python中的sorted()函数用于对可迭代对象进行排序,返回一个新的排序后的列表。

其基本用法为sorted(iterable, key=None, reverse=False)。

其中,iterable为待排序的可迭代对象,key为可选参数,用于指定排序中使用的函数(例如lambda函数),reverse为可选参数,表示是否要进行降序排列。

下面是一个简单的示例程序:

names = ['Alice', 'Bob', 'Charlie', 'David']
sorted_names = sorted(names)
print(sorted_names) # 输出 ['Alice', 'Bob', 'Charlie', 'David']

在这个示例中,我们对一个由几个字符串组成的列表进行了排序,并使用print()语句输出了排序后的结果。

二、lambda函数的基本介绍

在Python中,lambda函数是一种简单的小函数,通常用于对可迭代对象进行排序。

lambda函数的基本语法为(lambda argument_list: expression),其中argument_list表示函数参数列表,expression为函数体。

下面是一个示例程序:

square = lambda x: x ** 2
print(square(3)) # 输出 9

在这个示例中,我们定义了一个lambda函数square,并使用print()函数输出了square(3)的结果。

三、sorted()函数与lambda函数的结合使用

在Python中,我们可以使用sorted()函数和lambda函数的组合,对复杂的数据类型进行排序。

例如,我们可以对一个由字典构成的列表进行排序。

下面是一个示例程序:

students = [
    {'name':'Alice', 'score':80},
    {'name':'Bob', 'score':90},
    {'name':'Charlie', 'score':70},
    {'name':'David', 'score':60}
]
sorted_students = sorted(students, key=lambda x:x['score'], reverse=True)
print(sorted_students)

在这个示例中,我们定义了一个由字典构成的列表students,每个字典包含学生的姓名和分数。我们使用sorted()函数和lambda函数结合,对students列表进行了按照分数的降序排列,并使用print()函数打印了排序后的结果。

四、sorted()函数对文件的排序应用

在Python中,我们还可以使用sorted()函数对文件进行排序。这对于需要处理大量数据的应用程序非常有用。

下面是一个示例程序:

with open('example.txt', 'r') as f:
    lines = f.readlines()
sorted_lines = sorted(lines, key=lambda x:x.split()[1])
with open('sorted_example.txt', 'w') as f:
    f.writelines(sorted_lines)

在这个示例中,我们读取文件example.txt中的内容,并将每行内容保存到一个列表lines中。接着,我们使用sorted()函数和lambda函数结合,按照每行内容的第二个单词对lines列表进行排序。最后,我们将排序后的内容写入到另一个文件sorted_example.txt中。