breaking out of outer loops

Mark Lawrence breamoreboy at yahoo.co.uk
Mon Mar 7 19:36:25 EST 2016


On 07/03/2016 23:09, Fillmore wrote:
>
> I must be missing something simple because I can't find a way to break
> out of a nested loop in Python.
>
> Is there a way to label loops?
>
> For the record, here's a Perl script of mine I'm trying to port...there
> may be 'malformed' lines in a TSV file I'm parsing that are better
> discarded than fixed.
>
> my $ctr = 0;
> OUTER:
> while($line = <FILE>) {
>
>      $ctr++;
>      if ($ctr < 5) {next;}
>
>      my @allVals  = split /\t/,$line;
>
>      my $newline;
>      foreach my $i (0..$#allVals) {
>
>      if ($i == 0) {
>          if ($allVals[0] =~ /[^[:print:]]/) {next OUTER;}
>
>          $newline =  $allVals[0];
>      }
>
>      if (defined $headers{$i}) {
>
>          #if column not a number, skip line
>          if ($allVals[$i+1] !~ /^\d+$/) {next OUTER;}
>
>          $newline .= "\t".$allVals[$i+1];
>      }
>      }
>      print $newline."\n";
>
> }

I suggest you read and digest the various responses here 
http://stackoverflow.com/questions/189645/how-to-break-out-of-multiple-loops-in-python, 
some of which are similar if not identical to answers you've all ready 
been given.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list