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