马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问没有给sort_key传递参数,为什么能返回min并比较呢all = [{'city':'北京','min':5},{'city':'上海','min':4}]
def sort_key(data):
min = data['min']
return min
all.sort(key=sort_key)
print(all)
你的代码是正确的,它能返回最小值并进行比较的原因在于sort_key函数的工作原理。
Python的 sort() 函数是一个非常强大的工具,它可以用来对列表进行排序。 sort() 函数可以接受一个关键字参数 key ,该参数应该是一个函数,这个函数会被用来处理列表中的每一个元素,然后返回一个用于排序的值。
在你的代码中, sort_key 函数就是这样一个函数。它接受一个字典作为参数(这个字典是列表中的一个元素),然后返回字典中 'min' 键对应的值。然后, sort() 函数会使用这些返回的值来对原始列表进行排序。
所以,你的代码的工作流程是这样的:
1. sort() 函数调用 sort_key 函数,将列表中的每一个元素(即每一个字典)传递给它。
2. sort_key 函数返回每一个字典中 'min' 键对应的值。
3. sort() 函数使用这些返回的值来对原始列表进行排序。
这就是为什么不需要给 sort_key 函数传递任何参数,它仍然可以返回最小值并进行比较的原因。
|