gpt4 book ai didi

Python 从变量 (i,20) 开始迭代范围

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:57 26 4
gpt4 key购买 nike

Python 新手。不确定我是否以最好的方式表达了这一点,但就这样吧。我有一个这样的命令列表:

cmd_list = [
"cmd1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.2.1",
".1.3.6.1.4.1.24391.4.1.3.3.1.3.1.4.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.3.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.4.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.5.1",
"cmd2",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.2.1",
".1.3.6.1.4.1.24391.4.1.3.3.1.3.1.4.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.3.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.4.11",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.5.11",
"cmd3",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.2.12",
".1.3.6.1.4.1.24391.4.1.3.3.1.3.1.4.12",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.3.12",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.4.12",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.5.12",
]

cmd1 之后的 5 个值与 cmd1 进行比较,cmd2 之后的 5 个值与 cmd2 进行比较,等等。我尝试按以下方式迭代循环,但它似乎并不理想。

i=0
for i in range(i,cmd_list.__len__()):
#expect to first see normal command (check it doesn't start with .)
i += 1
while cmd_list[i].startswith("."):
#save these values to a list
i += 1
#do stuff when I have all the command info

这适用于第一个,但当 for 循环迭代时,i 从 5 或 6 或其他任何值返回到 1。

有更好的方法吗?谢谢

最佳答案

我会把它全部放入字典中:

>>> step = 6
>>> commands = {cmd_list[i]: cmd_list[i+1:i+step]
for i in range(0, len(cmd_list), step)}

然后您可以使用命令名称进行索引:

>>> commands['cmd2']
[".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.2.1",
".1.3.6.1.4.1.24391.4.1.3.3.1.3.1.4.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.3.1",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.4.11",
".1.3.6.1.4.1.24391.4.1.3.2.1.2.1.5.11"]

关于Python 从变量 (i,20) 开始迭代范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com