
Python 有一个内置的函数叫sorted(),它可以从你输入的任何迭代器中得到一个排序的列表。列表也有一个sort()方法,可以在原地进行排序。
Python list sort()
list.sort() 是一个内置的 Python 函数,它可以按照从低到高的顺序对一个列表的元素进行排序。如果列表中是数字,那么默认情况下,它们将以递增的顺序排序。
data = ['Elle', 'Miles', 'Kratos', 'Joel', 'Peter', 'Nathan']
data.sort()
print(data)
输出
['Elle', 'Joel', 'Kratos', 'Miles', 'Nathan', 'Peter']
你可以看到它默认是按字母升序排序的。
Python 按字母顺序对列表进行排序
要在Python 中按字母顺序对一个列表 进行排序,可以使用sorted()函数。sorted() 函数以特定的顺序对给定的 iterable 对象进行排序,这个顺序是升序或降序。 sorted(iterable, key=None) 方法接受一个可选的键,指定如何排序。要在对 列表 进行排序时不考虑大写字母,请将key设置为str。
data = ['Elle', 'Miles', 'Kratos', 'Joel', 'Peter', 'Nathan']
print(sorted(data))
输出
['Elle', 'Joel', 'Kratos', 'Miles', 'Nathan', 'Peter']
它返回一个按升序排列的字符串列表。
这里需要注意的一点是,我们没有将一个列表与大写和小写的字符串混合在一起。所以我们来做一下,看看输出结果。
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan']
print(sorted(data))
输出结果
['Elle', 'Joel', 'Nathan', 'kratos', 'miles', 'peter']
正如你所看到的,以大写字母开头的单词比以小写字母开头的单词得到优先考虑。
如果你想对它们进行独立排序,可以添加key参数。
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan']
print(sorted(data, key=str.lower))
输出
['Elle', 'Joel', 'kratos', 'miles', 'Nathan', 'peter']
如果要颠倒列表的顺序,请添加反向参数并将其设置为**"True**"。
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan']
print(sorted(data, reverse=True))
输出
['peter', 'miles', 'kratos', 'Nathan', 'Joel', 'Elle']
list.sort()将按字母顺序排序。你可以在括号中添加reverse=False/True来扭转项目的顺序:list.sort(reverse=False)。
这就是 Python 按字母顺序排序列表的教程。