Skip to main content
 首页 » 编程设计

python之存储程序序列的数据结构之Python

2025年05月04日11dflying

我正在编写一个软件来使用标准控制流从用户那里获取命令序列(即用户可以嵌套他想要的命令):

   cmd1 
   cmd2 
   cmd3 
   loop.1: 
    cmd1 
    cmd2 
    cmd3 
      loop.2 
        cmd1 
        cmd2 
      endloop.2 
    cmd4 
    cmd5 
   endloop.1 

你碰巧知道在嵌套结构中保持顺序的数据结构吗?基本上,什么数据结构用于存储任何语言的输入程序?你知道 Python 中的等价物吗?我正在尝试使用 OrderedDict() 但应该有一个更自定义的。

请您参考如下方法:

使用(间接)嵌套列表。我假设你有课

class Command(object): 
    def execute(self): 
        # whatever 

为您提供基本命令。为循环创建一个子类:

class Loop(Command): 
    def __init__(self, condition, cmds): 
        self.body = cmds                  # list of Commands 
        self.condition = condition 
 
    def execute(self): 
        while self.condition.execute(): 
            for x in self.body: 
                x.execute()