《视觉slam十四讲》中,在使用tum数据库时,需要使用associate.py工具对齐数据,但是报错
‘dict_keys’ object has no attribute ‘remove’
python版本较高,出现了不兼容的现象,只需要将文件中86行位置的程序由
first_keys = first_list.keys()
second_keys = second_list.keys()
改为
first_keys = list(first_list)
second_keys = list(second_list)
即可。
原因:
在Python 3中,dict.keys()返回没有remove方法的dict_keys对象。与Python 2不同,Python 2 dict.keys()返回列表对象。
In Python 3, dict.keys() returns a dict_keys object (a view of the dictionary) which does not have remove method; unlike Python 2, where dict.keys() returns a list object.