Skip to main content
 首页 » 编程设计

python之如何将 Perl Map 函数转换为 Python

2025年05月04日24oomusou

<分区>

我想将一段 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

我该如何解决这个问题?