我有一个类似于1000行下面的o/p的列表,我存储在一个列表变量中。你知道吗
现在我想找出所有这些行的最大键和值
sensors ={'porscheLfsFixit': 0, 'porscheDiskWrite': 1786, 'porscheDiskGcLoad': 0, 'porscheLfsFixit': 0, 'porscheEncrypt': 0, 'porscheDiskGcReap': 0, 'porscheCompress': 0, 'porscheDiskWrite': 1786, 'porscheRaidRebuild': 384, 'porscheCompress': 0, 'porscheDiskGcReap': 0, 'porscheEncrypt': 0, 'porscheRaidRebuild': 384, 'porscheDiskGcLoad': 0}
{'porscheLfsFixit': 0, 'porscheDiskWrite': 1786, 'porscheDiskGcLoad': 0, 'porscheLfsFixit': 0, 'porscheEncrypt': 0, 'porscheDiskGcReap': 0, 'porscheCompress': 0, 'porscheDiskWrite': 1796, 'porscheRaidRebuild': 389, 'porscheCompress': 0, 'porscheDiskGcReap': 50, 'porscheEncrypt': 0, 'porscheRaidRebuild': 3849, 'porscheDiskGcLoad': 0}
我尝试maxValue=max(传感器)
但我只得到这样的订单:porscheDiskWrite
我想要所有行的最大值,比如:porscheDiskWrite':1796,porscheRaidRebuild':389等等。。你知道吗
我需要把这个r\n转换成字典吗?你知道吗
我假设您的源结构是这样的,除了每个dict中有更多的项:
为了得到所有dict的所有项中具有最高值的
key, value
对,我建议使用这种方法。你知道吗首先,您将所有对放入一个列表中:
然后找到最大值对:
编辑:
从评论中回答问题。 要获取所有dict上所有键的最大值,请首先定义一个函数以获取一个键在所有dict上的最大值:
获取所有密钥:
为每个键调用函数并将结果放入dict中:
我们开始吧:
如果要根据dict的值设置最大值,可以执行以下操作:
因此,本例中的输出是一个元组。你知道吗
另外,您不需要将dict转换成一个列表来使用max,也不需要将输出转换成一个列表来使用max。你可以把它作为一个元组,想用它做什么都行。你知道吗
PS:我使用了一个带有
max()
的键函数,它是一个lambda
函数,用于获取sensors.items()
的每个元素的id=1的元素。另外,请注意max()
的第一个元素必须是iterable。而sensors.items()
将返回一个元组列表,如[(key1, value1), ..., (keyN, valueN)]
*如果要查找所有不同于零的值
输出
(“porscheraid重建”,384)
('porscheDiskWrite',1786年)
把它放进一个新的口述中
输出
{'porscheDiskWrite':1786,'porscheRaidRebuild':384}
相关问题 更多 >
编程相关推荐