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

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to