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