我的循环错误了吗?为什么它只使用fozz
的第一次出现而没有遍历fooz
的所有30多个对象?任何帮助都非常感谢。感谢。
我有一个var parser
,它带来了一个值字典。
然后我有一些内部for()
循环,用于交换字典值,并使用类实例var fooz
中的值。
fooz
有大约30个值。
问题是:目前在循环时仅使用fooz
中的1个值。我想针对fooz
的所有实例的每个参数使用每个值(请参阅下面的我想要做的事情)
例如,在路径上:
somesite.com/id.php?date=052914¶m=6&dog=cat
输出:
date=<same fooz object>
param=<same fooz object>
dog=<same fooz object>
循环
for parsed_key, parsed_value in parser.iteritems():
for parsed_value in parser.iteritems():
for fooz in foozs:
parsed_value = str(fooz)
print parsed_key + '=' + parsed_value
我想做的事情:
date=<fooz object 1>
date=<fooz object 2>
date=<fooz object 3>
...
date=<fooz object 30>
param=<fooz object 1>
param=<fooz object 2>
param=<fooz object 3>
...
param=<fooz object 30>
dog=<fooz object 1>
dog=<fooz object 2>
dog=<fooz object 3>
...
dog=<fooz object 30>
答案 0 :(得分:2)
你的循环错了。
for parsed_key, parsed_value in parser.iteritems():
for parsed_value in parser.iteritems():
# You're already looping on parser.iteritems() why are you
# trying to do that again??
for fooz in foozs:
parsed_value = str(fooz)
# parsed_value has been every value of fooz, but...
# by the time you get here you're completely out of all those for loops and
# Python doesn't care about those inner iterations, it only gives you the
# last one since that's the last thing you set parsed_value to
print parsed_key + '=' + parsed_value
尝试:
for parsed_key, parsed_value in parser.iteritems():
for fooz in foozs:
parsed_value = str(fooz)
print parsed_key + '=' + parsed_value