在Python中,可以使用内置函数sorted()来对列表等可迭代对象进行排序。sorted()函数可以接收一个关键字参数key,用于指定排序依据,比如将列表中的元素按照它们的长度进行排序:
lst = ['apple', 'banana', 'cherry', 'durian']
lst_sorted = sorted(lst, key=len)
print(lst_sorted) # ['apple', 'banana', 'cherry', 'durian']
在这个例子中,我们通过key参数指定以字符串的长度作为排序依据。通过修改key参数的取值,我们可以让sorted()函数根据不同的依据进行排序。例如,按照字母顺序排序:
lst_sorted = sorted(lst, key=str.lower)
print(lst_sorted) # ['apple', 'banana', 'cherry', 'durian']
这里我们把key参数设置为str.lower,表示按照单词的小写形式进行排序。如果希望按照元素的最后一个字母进行排序,可以这样写:
lst_sorted = sorted(lst, key=lambda x: x[-1])
print(lst_sorted) # ['cherry', 'banana', 'apple', 'durian']
这里我们定义了一个匿名函数lambda x:x[-1]作为key参数的取值,表示按照元素的最后一个字母进行排序。
上一篇:按关键字对对象数组进行分组