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]
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