我们如何根据列表中单词的第一个字母自定义排序函数?



>编写一个函数,该函数接收字符串列表并返回一个字符串排序的列表 顺序,但首先以"H"开头的所有字符串分组除外。 例如,提供以下输入列表:

['Bougainvillea', 'Orchids', 'Hibiscus', 'Frangipani', 'Honeysuckle']

将返回以下输出列表:

['Hibiscus', 'Honeysuckle', 'Bougainvillea', 'Frangipani', 'Orchids']

您可以提供一个key函数来指定排序顺序。例如,您可以执行以下操作:

>>> the_list = ['Bougainvillea', 'Orchids', 'Hibiscus', 'Frangipani', 'Honeysuckle']
>>> sorted(the_list, key=lambda item: (0 if item.startswith("H") else 1, item))
['Hibiscus', 'Honeysuckle', 'Bougainvillea', 'Frangipani', 'Orchids']

key函数可以生成任何可排序的内容。此示例使用元组,元组按元素排序(the_tuple[0]中的领带按the_tuple[1]等断开(

最新更新