【发布时间】:2022-01-14 03:36:42
【问题描述】:
我无法理解 Python 中 sorted 函数中的 key 参数。
假设,给出了以下列表:sample_list = ['Date ', 'of', 'birth', 'year 1990', 'month 10', 'day 15'],我只想对包含数字的字符串进行排序。
预期输出:['Date ', 'of', 'birth', 'month 10', 'day 15', 'year 1990']
到目前为止,我只能打印带有数字的字符串
def sort_with_key(element_of_list):
if re.search('\d+', element_of_list):
print(element_of_list)
return element_of_list
sorted(sample_list, key = sort_with_key)
但是我如何实际对这些元素进行排序呢? 谢谢!
【问题讨论】:
-
目前还不清楚你想要实现什么。您作为
key传递的函数适用于每个元素,即您不能使用键仅对某些元素进行排序。但是,您可以对列表的一部分进行排序,并结合未排序(前 3 个元素)和已排序(其余元素)创建新列表。就是说-您如何精确地“排序”日、月和年,即我认为您的意思并不是“排序”,而是按月、日、年排序。另外 - 你是怎么得到这个列表的? -
@buran 有答案了,谢谢评论!