max(〔{1},{2},{3}〕)在python为什么返回{1}

max(〔{1},{2},{3}〕)python中返回{1}为什么?

  • 建议你看下这篇博客👉 :python 使用 max函数求字典的最大值(lambda表达式)
  • 除此之外, 这篇博客: Python的简单数据类型案例中的 5.有一个数字列表,获取这个列表中的最大值(注意: 不能使用max函数) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 方法一:

    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

  • 以下回答由chatgpt基于相关博客总结生成:

    根据参考资料和问题描述,可以得出以下解答:

    在Python中,使用max函数对可迭代对象求最大值时,会依次比较对象的大小并返回最大值。对于可迭代对象[ {1}, {2}, {3} ],我们可以分析一下比较的过程:

    1. 首先比较{1}和{2},两个对象无法直接比较大小,因为它们是不同的字典对象;
    2. 接着比较{1}和{3},同样无法直接比较大小;
    3. 最后比较{2}和{3},同样无法直接比较大小;

    由于无法直接比较这些字典对象的大小,max函数会返回第一个对象{1}作为最大值。

    这种情况下,我们可以使用max函数的key参数来指定比较的规则。例如,使用lambda表达式对字典对象的某个键进行比较:

    max([{1},{2},{3}], key=lambda x: x['key'])
    

    其中,'key'是字典对象的某个键。这样就可以根据字典对象的指定键的值进行比较,而不是直接比较字典对象本身。

它只是把tuple中排在第一个元素结果返回.
max或者min函数, 当比较的对象是嵌套的数据时,无法直接比较大小.