2013-04-30 75 views
-1

我正在循環幾個嵌套循環。如果它發生變化,我想打印第一個循環的項目。我怎樣才能做到這一點?Python - 循環通過嵌套循環打印項目,如果它發生變化

for slope in slopeList: 
    for yarddist in yardDistList: 
         for chiptreesperacre in chipAcreList: 
          for chipvolpertree in chipVolList: 
           for smalllognumber in smallAcreList: 
            for smalltreevolpertree in smallVolList: 
             for largelogperacre in largeAcreList: 
              for largetreevolpertree in largeVolList: 
               data = [slope, yarddist, chiptreesperacre, chipvolpertree, smalllognumber, smalltreevolpertree, largelogperacre, largetreevolpertree] 
               if slope changes: 
                print data 
+0

你怎麼樣「它改變」?它與前一次迭代中的值不同? – 2013-04-30 21:07:12

+2

聖巢嵌套蝙蝠俠! – squiguy 2013-04-30 21:37:11

+1

循環循環循環循環循環循環循環循環循環中serioulsy? – mou 2013-04-30 22:17:24

回答

3

商店的價值,你以前看到的,並加以比較:

previous_slope = None 
for slope in as_many_loops_as_you_like: 
    data = [slope, other_stuff] 
    if slope != previous_slope: 
     print data 
     previous_slope = slope 
0

你可以添加previous_slope到set和另外在內部循環後看它的長度:

slope = set() 
slope.add(previous_slope) 
old_length = len(slope) 
for first_loop: 
    slope.add(current_slope) 
    if len(slope) > old_length: 
    print 'Changed!' 
    break 

對每個內部循環重複此模式。