我的代码中有一个计数器列表,如果可能的话,我想避免为每个计数器写一个if条件。
我在python 3中找到了以下解决方案,但它不起作用....如何?
def myfunc():
...
...
for a in list1:
<do something>
for b in list2:
a=0
b=0
c=0
<do something>
for c in list3:
<do something>
if <condition> is true>:
for element in a list:
<do something>
for i in ['a', 'b', 'c']:
if element == i:
i += 1
我不想在飞行中创建变量:我需要在列表中的匹配元素时增加此计数器列表(放在另一个循环函数中)。可能相关的是,这个计数器列表放在一个函数内,并在一系列嵌套循环之后
答案 0 :(得分:1)
这就是你想要的:
def myfunc():
a=0
b=0
c=1
l = [a,b,c]
d=locals()
for element,i in list(zip(l,['a','b','c'])):
d[i]=d[i]+1
print(d['a'])
print(d['b'])
print(d['c'])
myfunc()
输出:
1
1
2