这个问题已经在这里有了答案:????????????>????????????Finding max value in the second column of a nested list?????????????????????????????????????4 个

我有一个列表列表 , 列表 = [ ( 1,2,5 ) , ( 2,8,7 ) , ( 3,6,9 ) ] , 我想找到第三列的最大数量 , 所以我尝试:

zipped = zip ( *list ) print max ( zipped [ 2 ] )

但这并没有显示最大的数字 . 有人知道原因和解决方案吗?

最佳答案

适用于所有较新的 Python:

>>> li = [ ( 1,2,5 ) , ( 2,8,7 ) , ( 3,6,9 ) ] >>> max ( l [ 2 ] for l in li ) 9

如果您有文字:

>>> li = [ ( '1','2','5' ) , ( '2','8','7' ) , ( '3','6','9' ) ] >>> max ( int ( l [ 2 ] ) for l in li ) 9

即使源是迭代器 / 生成器 , 它也可以工作 . 这是在 Py3.3 上 , 其中 zip 返回一个迭代器:

>>> gli= ( e for e in li ) >>> max ( int ( l [ 2 ] ) for l in gli ) 9>>> max ( int ( l [ 2 ] ) for l in zip ( *li ) ) 9

原网页已经由 ZAKER 转码以便在移动设备上查看