欢迎访问宙启技术站
智能推送

按照关键字排序——Python函数使用sort()

发布时间:2023-08-22 10:43:22

在Python中,可以使用sort()方法对列表进行排序。sort()方法是一个就地排序方法,即直接对原始列表进行排序,而不会创建一个新的排序后的列表。

sort()方法可以根据关键字对列表进行排序。关键字是一个函数,它将应用于列表中的每个元素,并根据函数的返回值来确定元素的顺序。

下面是使用sort()方法按照关键字排序的一个例子:

def get_key(item):
    """
    定义一个关键字函数,获取列表中每个元素的关键字
    """
    return item[1]  # 返回元素的第二个值作为关键字

my_list = [('apple', 3), ('banana', 2), ('orange', 4)]  # 列表包含元组,每个元组有两个值

my_list.sort(key=get_key)  # 使用关键字函数对列表进行排序

print(my_list)  # 输出排序后的列表

在上面的例子中,我们定义了一个关键字函数get_key(),它返回传入元组的第二个值作为关键字。然后,我们创建了一个包含元组的列表my_list

我们使用sort()方法对my_list进行排序,将关键字函数get_key作为参数传递给key参数。sort()方法将对列表中的每个元素调用关键字函数,并根据函数返回的值来确定元素的顺序。

最后,我们打印排序后的列表。

Output:

[('banana', 2), ('apple', 3), ('orange', 4)]

可以看到,列表按照元组的第二个值进行了升序排序。

除了使用自定义的关键字函数,还可以使用Python内置的函数作为关键字。例如,使用len函数可以按照元素的长度对字符串列表进行排序:

my_list = ['apple', 'banana', 'orange']

my_list.sort(key=len)  # 使用len函数对列表进行排序

print(my_list)  # 输出排序后的列表

Output:

['apple', 'orange', 'banana']

在上面的例子中,我们使用key=lenlen函数作为关键字。len函数将返回每个字符串的长度,根据长度对字符串列表进行排序。

使用sort()方法按照关键字排序是一个非常方便的方法,可以根据需要对列表中的元素进行灵活的排序。