栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python2和python3在dict中的区别

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python2和python3在dict中的区别

代码中使用到了dict,需要获取到其中的keys,但是python3正常工作,使用python2就没有办法

1. 源代码
rostopic_dict = {uav_name+'/mavros/imu/data':             'sensor_msgs/Imu',
    uav_name+'/mavros/local_position/pose':   'geometry_msgs/PoseStamped',
    uav_name+'/mavros/globe_position/pose':   'geometry_msgs/PoseStamped',
    uav_name+'/mavros/battery':               'sensor_msgs/BatteryState',
    uav_name+'/mavros/setpoint_raw/local':    'mavros_msgs/PositionTarget',
    }
    rospy.Subscriber(list(rostopic_dict.keys())[0], Imu,               imu_call)

上述代码,应该是正常获取到keys并运行,但是python2无法正常运行

2. 修改

感觉可以使用list,这样至少不会出错了吧。
那么在python2中,dict是如何使用keys呢,测试一下

3. 测试

测试结果:在python2中,rostopic_dict.keys()可以正常获取到所有的keys,但问题就是,获取得到的keys是乱的,不是按照原本顺序进行的,所以导致了上述的错误。
最后决定,还是使用list

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号