我有一个大文件中嵌套键值的列表:
mainLs = [{'99999': {'popDensity': 0.0, 'housingDensity': 1.8062141714841409e-07}, '53000': {'popDensity': None, 'housingDensity': None}, '56938': {'popDensity': None, 'housingDensity': None}, '22594': {'popDensity': 0.003762399188257728, 'housingDensity': 0.002336601878903448}, '49194': {'popDensity': 0.0, 'housingDensity': 0.0005159765063886844}, '54232': {'popDensity': 0.0, 'housingDensity': 0.00046439265846193704}, '06000': {'popDensity': None, 'housingDensity': None}, '00562': {'popDensity': 0.0007453821299310868, 'housingDensity': 0.00035915666845218}, '68084': {'popDensity': 0.0, 'housingDensity': 0.0}}]
我想返回一个用户友好的字符串来记录popDensity最高的地方。在
^{pr2}$我需要保留同一位置的多个实例作为key。有办法吗?在
关键功能有两个问题:
首先,key函数的参数将是},而不是密度,或者任何可以用作
^{pr2}$lst
的一个元素,一个位置{list
索引的元素。所以:这就是您当前的}作为列表的索引。在
TypeError
;您试图使用一个位置{但如果你解决了这个问题,你就有了另一个问题。您试图对一组同时包含}的值调用
float
和{max
。这是模棱两可的,Python不会试图猜出您的意思。{或者说人口不应该被忽略,那么它应该是什么意思呢?一旦你能用英语解释这个规则,你就可以把它翻译成Python。在例如,下面是一个将
None
视为最小值的键函数:或者,下面是一个跳过
None
值的生成器表达式:同时,这假设你首先得到的是一个有效的dicts列表。你给我们看的是一个
SyntaxError
,所以很难猜出你到底有什么。也许是一张单子的单子,或者是一张单子的单子?在不知道的情况下,很有可能你在迭代你所拥有的任何东西的方式上有另一个错误…但是不可能告诉你如何修复它,除非我们能看到你真正拥有的东西。在例如,如果你有一个dict的dict,那么
mainLs
中的每一个东西都只是一个地名,而不是一个dict
。另一方面,如果这是一个dict的dict列表,那么mainLs
中的每一个东西都将是一个dict,它的唯一键是一个地名,其唯一的值是一个placedict
,在这种情况下,您需要在该值中查找密度,而不是在顶层dict中。如果不做任何更改,mainLs
中的每一个都适用于其他dict。在相关问题 更多 >
编程相关推荐