这个问题已经在这里有了答案:????????????>????????????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 转码以便在移动设备上查看