Python 2.7 在Python中组合两个循环
这可能是一个荒谬的问题,但我有这样的准则:Python 2.7 在Python中组合两个循环,python-2.7,Python 2.7,这可能是一个荒谬的问题,但我有这样的准则: from itertools import product variable_ = 'variable_' for i,oid, val in product(xrange(0,7), varBinds): variable_ += `i` print('%s = %s' % (variable_,val.prettyPrint())) 我得到错误ValueError:需要两个以上的值才能解包。我现在不想使用oid,但以后可能会在同
from itertools import product
variable_ = 'variable_'
for i,oid, val in product(xrange(0,7), varBinds):
variable_ += `i`
print('%s = %s' % (variable_,val.prettyPrint()))
我得到错误ValueError:需要两个以上的值才能解包。我现在不想使用oid,但以后可能会在同一个循环中,我需要它。我寻找错误和可能的解决办法,但没有一个奏效
我只想对范围(0,7)内的i和变量绑定中的oid、val执行,并获得预期的数据
variable_0=<some value in varBinds>
variable_1=<some other value in varBinds>
.
.
variable_6=<last value in varBinds>
工作得很好。
感谢@RemcoGerlich的帮助只需注意后两个值本身在一个元组中:
for i, (oid, val) in product(xrange(0,7), varBinds):
编辑:从您的示例中,您根本不需要产品
,而是枚举
:
for i, (oid, val) in enumerate(varBinds):
看
或者可能是itertools.izip
(zip
的迭代器版本),如果xrange
只是一个示例:
from itertools import izip
for i, (old, val) in izip(xrange(0, 7), varBinds):
感谢您的快速回复@RemcoGerlich!我试过这个。做了一些我想要的。但是我没有得到完美的输出。。也许我在循环概念方面很糟糕,哈哈。非常感谢!!!我至少可以得到这个结果,variable\u 0=
variable\u 01=
…variable\u 0123456=
现在将检查我的错误。。再次感谢!!:)
from itertools import izip
for i, (old, val) in izip(xrange(0, 7), varBinds):