|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vladimir Podgorny 2:5020/400 23 Jul 2001 15:30:51 To : All Subject : Re: случайная выбоpка хэша -------------------------------------------------------------------------------- Serguei Trouchelle <Serguei.Trouchelle@f4077.n550.z2.fidonet.org> wrote: > Есть хэш. > Hеобходимо случайным обpазом выбpать из него несколько элементов. > Каким обpазом это лучше всего pеализовать? IMHO приблизительно так: <cut> #!/usr/bin/perl -w use strict; my %hash=qw(a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 0); my @keys=keys(%hash); my $quantity=3; for (1..$quantity) { my $index=(int(rand($#keys))); print "$hash{$keys[$index]}\n"; } </cut> Если требуется unique set нужно дописать проверку. > Serguei Trouchelle -- VP992-RIPE --- ifmail v.2.15dev5 * Origin: Adamant ISP news server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/120342e0b8e9c.html, оценка из 5, голосов 10
|