Как добавить повторяющиеся значения в массив в Perl? - PullRequest
20 голосов
/ 05 октября 2010

У меня есть массив @genotypes = "TT AG TT AG....", и я хочу добавить к нему пик (например, 20 x TT) для создания нового массива.

Я могу, очевидно, push "TT" в массив 20 раз - но есть ли более простой способ сделать это? (т.е. не @newarray = push @genotypes ("TT", "TT", "TT",......20 times!);

Ответы [ 3 ]

37 голосов
/ 05 октября 2010
@newlist = (@genotypes, ('TT') x 20);

Да, это x.

См. Мультипликативные операторы в perldoc perlop .

4 голосов
/ 05 октября 2010

Оператор повторения является наиболее очевидным способом.
Вы также можете использовать map:

@newarray = (@genotypes, map 'TT', 1..20);
3 голосов
/ 05 октября 2010

Существует также способ foreach отправки нескольких одинаковых значений в массив:

push @newarray, 'TT' foreach (1..20);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...