python - 返回在字典中的键上循环的第一个值输入的最大值

原文 标签 python python-3.x list dictionary

我想获得第一个值的最大值10,40-> 40。
我可以在下面使用它,但是在一行中是否有python而不是for循环

    soilLayer[0] = [ 10,    50,    0.3,   1600, 1800,    5,  30 ]
    soilLayer[1] = [ 40,    50,    0.3,   1600, 1800,    5,  30 ]
    heigth = []
    position = 0
    for name in sorted( soilLayer.keys() ):
        heigth.append( soilLayer[name][position] )
    print( max( heigth ) )

最佳答案

首先,当您要查找最大值时不需要排序。您可以使用operator.itemgetter一次获取多个项目,并使用zip获取第一个项目。然后,您可以将所有max放在结果上。

from operator import itemgetter

max(next(zip(*itemgetter(*soilLayer.keys())(soilLayer)))

相关文章:

python - 使用Python下载网页的完整HTML时出现问题

python - 如何将输入压缩为txt文件?

python - 数据框将现有列值更改为单个特定值

java - 排序对象列表到特定成员/状态

python - 如何使用开始和结束索引对numpy行进行切片

python - 在生产环境中使用Sql Server和Django

python - 正在学习课程,但我敢肯定有一个奇怪的问题很简单

python-3.x - 如何在keras 2功能API中链接/组成图层而不指定输入(或输入形状)

python - 计算发生次数后,如何在列表中的每一天进行输入

python - 如何在字典中拆分列表以创建新字典?