如何替代line.all来仅保存特定绘制线条的信息?
替代
line.all保存特定绘制线条信息的方案 自定义专属存储列表
别依赖全局的line.all,自己维护一个列表专门存你需要的线条。比如先初始化my_target_lines = [],每次绘制要保留的线条时,把生成的线条对象直接加进去:# 以常见绘图库的Line类为例 new_line = Line(start=(x1,y1), end=(x2,y2)) my_target_lines.append(new_line)之后要调用这些线条信息时,直接用
my_target_lines即可,完全不用理会其他无关线条。给目标线条打自定义标记
如果必须从全局线条池里筛选,给你画的线条加个专属标记属性。比如绘制时:line = Line(...) line.is_my_custom_line = True # 自定义标记字段之后筛选特定线条时用列表推导式快速过滤:
target_lines = [line for line in line.all if getattr(line, 'is_my_custom_line', False)]这种方法适合需要保留全局线条,但又要快速提取自己绘制部分的场景。
按绘图会话分组存储
要是你分阶段绘图,比如不同任务画不同线条,可以按会话分组。比如开启一个绘图任务时初始化current_task_lines = [],这个任务里画的所有线条都加入这个列表,任务结束后把这个列表单独保存或处理,和其他任务的线条彻底分开。
内容的提问来源于stack exchange,提问作者sey eeet
相关产品推荐
相关产品推荐

