2024-09-29 21:37:56 发布
网友
我有一个命令列表cmds=[['ADD', '1'], ['LOAD', '5'], ['SQR'], ['ADD', '3']],我希望有选择地执行,例如(a)cmd exclused cmd[1](b)cmd exclused cmd[2]
cmds=[['ADD', '1'], ['LOAD', '5'], ['SQR'], ['ADD', '3']]
有没有关于如何动态执行此操作的建议?因为列表长度并不总是已知的
cmds=[['ADD', '1'], ['LOAD', '5'], ['SQR'], ['ADD', '3']], list slicing can use If you want to choose selectively , (a) cmd excluding cmd[1] print(cmds[:1] + cmds[2:) (b) cmd excluding cmd[2] print(cmds[:2] + cmds[3:])
您可以创建一个小助手函数,返回除要排除的命令外的所有命令:
def exclude(commands, idx): return commands[:idx] + commands[idx+1:]
这将返回一个列表,删除指定索引处的命令
如果要排除索引1处的命令,请这样调用:
exclude(cmds, 1)
注:此处索引以0为基础
如果有排除步骤的标准,则可以使用列表理解创建经过筛选的命令列表:
new_cmds = [cmd in cmds if 'LOAD' not in cmd] new_cmds = [cmd in cmds if len(cmd) < 2]
您可以创建一个小助手函数,返回除要排除的命令外的所有命令:
这将返回一个列表,删除指定索引处的命令
如果要排除索引1处的命令,请这样调用:
注:此处索引以0为基础
如果有排除步骤的标准,则可以使用列表理解创建经过筛选的命令列表:
相关问题 更多 >
编程相关推荐