<分区> 分区>
我想将一段 perl 代码转换为 python,但我对 perl 及其语法一点都不熟悉。
特别是,我只是对 perl 中的映射运算符和下面代码中的移位运算符感到困惑。
(@M) = ($y =~ m/((?:\d+:ITEM7 \d+:\d+ )+(?:\d+:ITEM7A \d+:\d+ )*)(?:\d+:ITEM8 \d+:\d+\s*)+/g);
$best = 0;
$bestseq = "";
for($i = 0; $i < scalar(@M); ++$i) {
$m = $M[$i];
$m =~ s/\d+://g;
(@m) = (split / /, $m);
$v = 0;
$z = length_in_words($M[$i]);
map { $v += $_ if($_ =~ m/^\d+$/); } @m;
if($v > $best) { $best = $v; $bestseq = $M[$i]; }
}
sub length_in_words {
my $x = shift;
my @k;
return scalar(@k = $x =~ m/(\S+)/sg);
}
我知道 @M 分配一个基于 python re.findall 的数组,但我只是对 map 函数和移位运算符感到困惑它应用于 @k
我该如何解决这个问题?
