python - 为什么我使用 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 条!我对可能导致这种情况的原因感到困惑。谁能给我建议?
解决方案
您通过将其用作键来按描述对项目进行分组。一个键只能存在一次。如果两个项目具有相同的描述,它们将占用相同的键,其中只有最后一个会存在。
推荐阅读
- javascript - node.js 将方法(或函数)添加到对象 - 意外标识符
- python - 名称“未定义”,即使它是,在一个单独的函数中
- spring - 什么时候使用 org.springframework.format.Printer 接口?
- keras - Word2vec 中的自定义损失函数
- java - 为什么从服务器推送通知时未执行“MyFirebaseMessagingService”类
- python-3.x - 捕获线程输出以将其重定向到 Python 中的 GUI(wxpython)
- python - YouTube API Python upload_video.py 从脚本而不是命令行运行
- c# - MongoDb:使用 $divide 和 $gte 的问题
- angular - 错误:错误类型错误:在将数据从父组件传递到子组件时无法读取未定义的属性“名称”
- c# - Aysnc任务--我的应用程序的内存消耗越来越高,为什么?