Perl:是否可以对通过值阈值的散列进行子集?

Perl:是否可以对通过值阈值的散列进行子集?,perl,hash,subset,threshold,Perl,Hash,Subset,Threshold,假设我有一个表单的散列: %hash = ( a => 1, b => 2, c => 3 , d => 4 , e => 5 , f => 6 ); 我能否获得通过值阈值3的此类散列的子集,从而获得以下%subhash %subhash = ( c => 3 , d => 4 , e => 5 , f => 6 ); 而不必进入循环?谢谢像这样的东西应该可以做到,尽管映射意味着一个循环: my %subhash = map {

假设我有一个表单的散列:

%hash = ( a => 1, b => 2, c => 3 , d => 4 , e => 5 , f => 6 );
我能否获得通过值阈值3的此类散列的子集,从而获得以下%subhash

%subhash = ( c => 3 , d => 4 , e => 5 , f => 6 );

而不必进入循环?谢谢

像这样的东西应该可以做到,尽管
映射
意味着一个循环:

my %subhash = map {
                     $hash{$_} >= 3
                     ? ($_, $hash{$_})
                     : ()
                  } keys %hash;

类似这样的东西应该可以做到这一点,尽管
map
意味着一个循环:

my %subhash = map {
                     $hash{$_} >= 3
                     ? ($_, $hash{$_})
                     : ()
                  } keys %hash;

类似这样的东西应该可以做到这一点,尽管
map
意味着一个循环:

my %subhash = map {
                     $hash{$_} >= 3
                     ? ($_, $hash{$_})
                     : ()
                  } keys %hash;

类似这样的东西应该可以做到这一点,尽管
map
意味着一个循环:

my %subhash = map {
                     $hash{$_} >= 3
                     ? ($_, $hash{$_})
                     : ()
                  } keys %hash;
5点20分+

%subhash = %hash{ grep $hash{$_} >= 3, keys %hash }
(尽管grep(和map)仍然是一个循环)

在5.20中+

%subhash = %hash{ grep $hash{$_} >= 3, keys %hash }
(尽管grep(和map)仍然是一个循环)

在5.20中+

%subhash = %hash{ grep $hash{$_} >= 3, keys %hash }
(尽管grep(和map)仍然是一个循环)

在5.20中+

%subhash = %hash{ grep $hash{$_} >= 3, keys %hash }

(尽管grep(和map)仍然是一个循环)

不仅仅是
grep
。里面有四个环!不仅仅是
grep
。里面有四个环!不仅仅是
grep
。里面有四个环!不仅仅是
grep
。里面有四个环!不要抱有幻想——如果你在迭代一个数据结构,你就有了一个循环。没有解决办法。不循环就不能循环。你可以在
map
grep
后面隐藏你这样做的事实,但是你不能改变这样做的需要。不要幻想——如果你在迭代一个数据结构,你就有了一个循环。没有解决办法。不循环就不能循环。你可以在
map
grep
后面隐藏你这样做的事实,但是你不能改变这样做的需要。不要幻想——如果你在迭代一个数据结构,你就有了一个循环。没有解决办法。不循环就不能循环。你可以在
map
grep
后面隐藏你这样做的事实,但是你不能改变这样做的需要。不要幻想——如果你在迭代一个数据结构,你就有了一个循环。没有解决办法。不循环就不能循环。您可以在
map
grep
后面隐藏您正在这样做的事实,但您不能改变这样做的必要性。