首页 > 解决方案 > 为什么我使用 for 循环从另一个字典创建的字典更小?

问题描述

bus_stops = jsoncalls.get_bus_stop()
print(len(bus_stops))
stop_map = {stop['Description']: stop for stop in bus_stops}
print('extracted dic: '+str(len(stop_map)))

这是我的代码的样子。基本上,我使用从 api 调用获得的另一种方法创建字典。然后我做了我认为是创建另一个字典,其中只填充了该字典中的值“描述”。

第一个打印是第一个字典的长度。第二个打印是第二个的长度。

5024
extracted dic: 4457

第二本词典短 600 条!我对可能导致这种情况的原因感到困惑。谁能给我建议?

标签: pythondictionary

解决方案


您通过将其用作键来按描述对项目进行分组。一个键只能存在一次。如果两个项目具有相同的描述,它们将占用相同的键,其中只有最后一个会存在。


推荐阅读