我有很多主题要存储在缓冲区中,但每个主题的记录时间不应超过 10 秒。对于几个主题,这条线运行良好,但如果我想订阅所有主题,它就会开始落后。我需要使用比重写新列表更有效的方法,我需要弹出所有超过 10 秒的元素。
buffer[topic] = [ msg for msg in buffer[topic] if timestamp - msg[0] < rospy.Duration(10.0) ]
每个主题都有一个时间戳,如果这个时间戳大于 10 秒,我们要删除这些元素。希望各位大神帮忙。