我有以下清单:
L=[
[ [4.0, 4.0] , [1.0, 2.0, 3.0] ],
[ [4.0, 5.0] , [1.0 ] ]
]
我需要得到子列表中每个“列”的最大值。换句话说,我必须得到:
result=[5.0, 3.0]
…因为5.0
是子发布者的第一个“列”中的最大值:
[4.0, 4.0]
[4.0, 5.0]
…和3.0
是子发布列表第二列中的最大值:
[1.0, 2.0, 3.0]
[1.0]
子列表的数量可能会改变,子发布者的数量和子发布者内部的值也可能会改变。我已经尝试了几个小时,但是我只能迭代subpublists的第一个值,因此我丢失了位于其各自subpublists末尾的最大值:-(提前谢谢。你知道吗
PS.:不幸的是,我不能使用熊猫或小动物。。。
您可以使用:
您可以使用
zip
输出:
使用
functools.partial
的丑陋解决方案:这里,
map(partial(map, max), L)
通过选取每个单元格的最大值来变换每一行;zip
执行转置;另一个map(max, ...)
查找每一列的最大值。你知道吗不那么难看的解决方案:
相关问题 更多 >
编程相关推荐