如何避免if..then为一长串计数器中的元素

时间:2018-06-08 13:01:45

标签: python if-statement

我的代码中有一个计数器列表,如果可能的话,我想避免为每个计数器写一个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    

我不想在飞行中创建变量:我需要在列表中的匹配元素时增加此计数器列表(放在另一个循环函数中)。可能相关的是,这个计数器列表放在一个函数内,并在一系列嵌套循环之后

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