我在不改变哈希的内容的情况下在不同时间运行哈希。我想哈希以随机顺序每次迭代(我知道的哈希的内部顺序是随机的,但我需要一个随机的顺序改变)Perl中的随机/随机哈希键
我想这对于代码如下:
for (my $i=1; $i<=$PopulationsizeA;$i++){
my $P1 = rand;
my $total=0;
my $Parent1='Parent1';
my $P1A;
while ((my $Genotype1, my $Fitness1)=each (%Normalisedfithash)){
$P1A=$P1-$total;
if ($Parent1 eq 'Parent1'){
if ($P1A<=$Fitness1){
$Parent1=$Genotype1;
$P1Tallyhash{$Genotype1}+=1;
}
else{
$total+=$Fitness1;
}
}
}
}
我需要%Normalisedfithash的顺序随机更改for循环的每次迭代。我看到类似的question,但我不想让这些值随机更改密钥,而是希望密钥保持其关联值,但随机更改顺序。
谢谢!