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

Python中的sorted()函数:按不同的条件对列表进行排序

发布时间:2023-06-15 01:44:46

Python是一种非常流行的编程语言,它内置了许多强大的函数供程序员使用。其中一个非常重要的函数就是sorted()函数,它可以对列表进行排序。sorted()函数可以按照不同的条件对列表进行排序,比如按照数字大小、字符串顺序、自定义函数等。本文将详细介绍Python中sorted()函数的使用方法。

1. 按数字大小排序

使用sorted()函数可以对数字列表按照大小进行排序。例如:

numbers = [12, 34, 3, 65, 8, 90]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

输出结果为:

[3, 8, 12, 34, 65, 90]

2. 按字符串顺序排序

使用sorted()函数可以对字符串列表按照字母顺序进行排序。例如:

words = ['cat', 'dog', 'tiger', 'lion', 'elephant']
sorted_words = sorted(words)
print(sorted_words)

输出结果为:

['cat', 'dog', 'elephant', 'lion', 'tiger']

3. 自定义比较函数排序

除了按数字大小和字符串顺序排序外,我们还可以通过自定义比较函数来进行排序。比如,我们可以按照字符串的长度来对字符串列表进行排序。例如:

words = ['cat', 'dog', 'tiger', 'lion', 'elephant']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)

输出结果为:

['cat', 'dog', 'lion', 'tiger', 'elephant']

在上面的代码中,我们通过lambda表达式定义了一个比较函数,该函数的参数x就是列表中的元素,返回值是元素的长度。sorted()函数会根据比较函数的返回值对列表进行排序。

4. 按字典的值排序

如果要按照字典的值进行排序,我们可以使用sorted()函数的key参数。例如:

dict1 = {'apple': 10, 'orange': 20, 'banana': 5, 'grape': 15}
sorted_dict1 = dict(sorted(dict1.items(), key=lambda x: x[1]))
print(sorted_dict1)

输出结果为:

{'banana': 5, 'apple': 10, 'grape': 15, 'orange': 20}

在上面的代码中,我们通过items()方法将字典转化为元组列表,并通过lambda表达式按照字典的值来进行排序。

5. 按字典的键排序

如果要按照字典的键进行排序,我们可以将lambda表达式中的x[1]改为x[0],即:

dict1 = {'apple': 10, 'orange': 20, 'banana': 5, 'grape': 15}
sorted_dict1 = dict(sorted(dict1.items(), key=lambda x: x[0]))
print(sorted_dict1)

输出结果为:

{'apple': 10, 'banana': 5, 'grape': 15, 'orange': 20}

在上面的代码中,我们同样通过items()方法将字典转化为元组列表,并通过lambda表达式按照字典的键来进行排序。

总结:

在Python中,sorted()函数是对列表进行排序的重要函数,它可以按照不同的条件对列表进行排序。需要注意的是,sorted()函数返回的是排序后的新列表,原始列表并不会发生改变。另外,lambda表达式也是一种非常重要的函数定义形式,在后续Python的学习中,我们还会经常用到它。