Python字典 - 只需要几对 - 是不是更好地弹出未使用的对或创建一个新的字典?

时间:2018-06-09 22:10:40

标签: python dictionary

哪个选项最适合从大字典中提取一些内容,除了所需的对或创建一个新的外,还可以弹出所有内容?那么速度/记忆呢?

parsed = json.loads(WS) #data

或者:

parsed2 = {"lat": parsed["lat"],
          "lon": parsed["lon"],
          "time": parsed["time"]}

parsed.pop("alt") 
parsed.pop("delay")
parsed.pop("mcg")
parsed.pop("mds")
parsed.pop("pol")
parsed.pop("sig") #contains another dictionary if it matters speed-wise?

这将只留下所需的对。

此外,它是不是很糟糕"不做新的"在第一种情况下:

parsed = {"lat": parsed["lat"], (...)}

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

一次性完成

fields = ["lat", "lon", "time"]
parsed = {k: v for k, v in json.loads(WS).items() if k in fields}