dgB*_*gBP 2 perl hash key-value
我有一些代码如下.我试图通过哈希搜索,如果我遇到一个零值,我想删除整个键/值元素.
my %hashy = (
a => my $a,
b => my $b,
c => my $c,
d => my $d,
e => my $e
);
$hashy{'a'} = 0;
$hashy{'b'} = 1;
$hashy{'c'} = 0;
$hashy{'d'} = 2;
$hashy{'e'} = 1;
my @keys = keys %hashy;
my @values = values %hashy;
my $ind = 0;
foreach my $v (@values) {
delete $hashy{$keys[$ind]} if ($v == 0);
}
Run Code Online (Sandbox Code Playgroud)
因此,预期的打印输出%hashy将是:( b1d2e1忽略元素的顺序)
目前我得到:c0a0b1d2哪个甚至不接近...任何帮助将不胜感激:)
迭代这些值无济于事,因为你失去了值和键之间的关联,尽管我猜这$ind应该是帮助你跟踪的.
只需迭代密钥:
foreach my $k (keys %hashy) {
delete $hashy{$k} if ($hashy{$k} == 0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |