使用字典理解过滤python字典

时间:2017-10-26 08:31:40

标签: python dictionary list-comprehension dictionary-comprehension

我有一本真正的geojson字典:

points = {
    'crs': {'properties': {'name': 'urn:ogc:def:crs:OGC:1.3:CRS84'}, 'type': 'name'},
    'features': [
        {'geometry': {
            'coordinates':[[[-3.693162104185235, 40.40734504903418],
                            [-3.69320229317164, 40.40719570724241],
                            [-3.693227952841606, 40.40698546120488],
                            [-3.693677594635894, 40.40712700492216]]],
            'type': 'Polygon'},
         'properties': {
             'name': 'place1',
             'temp': 28},
         'type': 'Feature'
        },
        {'geometry': {
            'coordinates': [[[-3.703886381691941, 40.405197271972035],
                             [-3.702972834622821, 40.40506272989243],
                             [-3.702552994966045, 40.40506798079752],
                             [-3.700985024825222, 40.405500820623814]]],
            'type': 'Polygon'},
         'properties': {
             'name': 'place2',
             'temp': 27},
         'type': 'Feature'
        },
        {'geometry': {
            'coordinates': [[[-3.703886381691941, 40.405197271972035],
                             [-3.702972834622821, 40.40506272989243],
                             [-3.702552994966045, 40.40506798079752],
                             [-3.700985024825222, 40.405500820623814]]],
            'type': 'Polygon'},
         'properties': {
             'name': 'place',
             'temp': 25},
         'type': 'Feature'
        }
    ],
    'type': u'FeatureCollection'
}

我想过滤它以仅停留在具有特定温度的地方,例如,超过25摄氏度。

我设法这样做了:

dict(crs = points["crs"],
     features = [i for i in points["features"] if i["properties"]["temp"] > 25],
     type = points["type"])

但我想知道是否有任何方法可以更直接地使用字典理解。

非常感谢。

0 个答案:

没有答案