【发布时间】:2022-01-25 15:15:04
【问题描述】:
chars = dict(sorted(crops.items(),key=lambda kv: kv[1].size, reverse=True)[:4])
我正在创建一个字典 chars,它将计数变量(任何整数 vals)映射到我以前的字典crops 中的四个最大裁剪值。
我在 Google Colab 和 Pycharms 中都运行了上面的代码,它给了我一个不同的字典。在 Colab 中,它从下面的列表中给了我想要的东西(注意:很多行都从列表中删除了)。它保留了列表{ (6, crop1), (7,crop2) , (2, crop3) , (3, crop4) }的顺序。
但是,在 pycharms 中,输出为 { (2, crop3) , (3, crop4), (6, crop1), (7,crop2)} ,它仍然获得最大的四种作物,但通过将其转换为 dict() ,它似乎通过计数变量重新排列了我在字典中的列表。
字符列表:
[(6, array([[78, 76, 77, 78, 73, 81, 80, 81, 79, 72, 77, 78, 71, 73, 78, 81,
82, 79, 76, 74, 75, 85, 86, 78, 76, 84, 85, 80, 78, 73, 76],
..., (7, array([[89, 90, 87, 83, 82, 83, 77, 76, 75, 74, 71, 73, 74, 77, 77, 80,
77, 75..., (3, array([[ 79, 77, 81, 74, 80, 85, 83, 79, 74, 77, 74, 76, 78,
...]
我不确定是什么原因造成的,肯定需要一些帮助。也许 PyCharms 也存在问题,代码在 Gazebo 模拟中实时运行,所以这可能会改变 dict() 投射我的列表的方式?
【问题讨论】:
标签: python dictionary pycharm google-colaboratory gazebo-simu