can';在python中找不到包含子列表的列表的最大数目

can';在python中找不到包含子列表的列表的最大数目,python,list,numbers,append,max,Python,List,Numbers,Append,Max,我有两份清单: list1=[1,2,3] list2=[4,5,6] 使用append后:list1[1,2,3,4,5,6] 我想打印列表1和子列表的最大数量。我试过这个: print("MAX:",max(list1)) 但是它不起作用,所以我在这里看到了两个简单的选择。第一种方法是使用extend而不是append。所以你会这样做: list1.extend(list2) 然后您的列表1将是[1,2,3,4,5,6],其余代码将正常工作。您的另一个选择是执行以下操作: print("

我有两份清单:

  • list1=[1,2,3]
  • list2=[4,5,6]
  • 使用append后:
    list1[1,2,3,4,5,6]

    我想打印列表1和子列表的最大数量。我试过这个:

    print("MAX:",max(list1))
    

    但是它不起作用,所以我在这里看到了两个简单的选择。第一种方法是使用extend而不是append。所以你会这样做:

    list1.extend(list2)
    
    然后您的列表1将是[1,2,3,4,5,6],其余代码将正常工作。您的另一个选择是执行以下操作:

    print("MAX:{}".format(max([max(x) for x in list1]))
    

    这会将子列表减少到它的最大值,然后您就可以打印了。这只在嵌套一层(如您的示例所示)时有效

    Max不起作用,因为int和list之间没有相等测试。 如果只想测试列表1中的int值,可以执行以下操作:

    print(max([item for item in list1 if isinstance(item, int)]))
    

    不要使用
    追加
    ,使用
    +=
    扩展
    ,即:

    list1 = [1,2,3]
    list2 = [4,5,6]
    list1 += list2
    # list1.extend(list2)
    
    print(max(list1))
    # 6
    

    首先,您正在打印一个名为“list”的引用的最大值,我只看到“list1”和“list2”。
    如果调用list1,那么错误在于无法比较int和list。由于max()使用运算符“IIUC,如果要在展平列表后正确查找最大值,请执行以下操作:

    list1 = [1, 2, 3, [4, 5, 6]]
    
    
    result = max(ei for e in list1 for ei in (e if isinstance(e, list) else [e]))
    print(result)
    
    输出

    6
    

    max(列表1),max(列表2)
    ?如果可能的话,我只想使用列表1查找max,而不想比较列表1和列表2中的max。你到底想做什么?如果你想要列表1的max,为什么不在将其添加到另一个列表之前获取它。看起来这是一个XY问题。显然我可以这样做,但我想在完成一个作业后找到列表1中的max在列表2上与列表1一起使用append
    list1 = [1, 2, 3, [4, 5, 6]]
    
    
    result = max(ei for e in list1 for ei in (e if isinstance(e, list) else [e]))
    print(result)
    
    6