Python list sort():如何在Python中按字母顺序对列表进行排序

3,580 阅读2分钟

How to Sort List Alphabetically in Python

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 按字母顺序排序列表的教程。