max(〔{1},{2},{3}〕)python中返回{1}为什么?
方法一:
nums =[1,3,4,2,6,8,9,5,7]
nums.sort()
print(nums[len(nums)-1])
方法二:
numbers = [1, 3, 4, 2, 6, 8, 9, 5, 7]
max_num = numbers[0]
for n in numbers:
if n > max_num:
max_num = n
print(max_num)
运行结果:
9
根据参考资料和问题描述,可以得出以下解答:
在Python中,使用max函数对可迭代对象求最大值时,会依次比较对象的大小并返回最大值。对于可迭代对象[ {1}, {2}, {3} ],我们可以分析一下比较的过程:
由于无法直接比较这些字典对象的大小,max函数会返回第一个对象{1}作为最大值。
这种情况下,我们可以使用max函数的key参数来指定比较的规则。例如,使用lambda表达式对字典对象的某个键进行比较:
max([{1},{2},{3}], key=lambda x: x['key'])
其中,'key'是字典对象的某个键。这样就可以根据字典对象的指定键的值进行比较,而不是直接比较字典对象本身。
它只是把tuple中排在第一个元素结果返回.
max或者min函数, 当比较的对象是嵌套的数据时,无法直接比较大小.