Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

splitter un tableau en plusieurs sous-tableaux

2 réponses
Avatar
Newsgroups
Bonjour,

J'ai un tableau qui peut contenir beaucoup d'=E9l=E9ments, je voudrait le
scinder en autant de tableaux que n=E9cessaire de mani=E8re =E0 ce que chac=
un
de ces nouveaux arrays soient constitu=E9s de 10 =E9l=E9ments. je traiterai
s=E9par=E9ment ces arrays.

exemple :=20
my @grosArray =3D (0..10000);

je veux me retrouver avec 1000 @petitArray contenant chacun une tranche
du @grosArray

Je pense pouvoir le faire avec un boucle qui irait pusher un nouveau
tableau mais ca me parait pas tr=E8s propre...

Il existe pas quelque chose de plus simple ?

2 réponses

Avatar
jl_morel
Dans l'article , a dit...

J'ai un tableau qui peut contenir beaucoup d'éléments, je voudrait le
scinder en autant de tableaux que nécessaire de manière à ce que chac >un
de ces nouveaux arrays soient constitués de 10 éléments. je traiterai
séparément ces arrays.

exemple :
my @grosArray = (0..10000);

je veux me retrouver avec 1000 @petitArray contenant chacun une tranche
du @grosArray

Je pense pouvoir le faire avec un boucle qui irait pusher un nouveau
tableau mais ca me parait pas très propre...

Il existe pas quelque chose de plus simple ?



Vous pouvez utiliser la fonction part du module List::MoreUtils qui renvoie
une partition d'une liste.

http://perl.enstimac.fr/perl5.8.5/site_perl/5.8.5/sun4-solaris/List/MoreUtils.html#item_part

#!/usr/bin/perl
use strict;
use warnings;
use List::MoreUtils 'part';

my @grosArray = (0..10000); # 10001 éléments

my $i = 0;
my @partition = part { $i++ / 10 } @grosArray;

print "@{$_}n" foreach (@partition) # 1001 petits tableaux

__END__


--
J-L.M.
http://www.bribes.org/perl

Avatar
Newsgroups
use List::MoreUtils 'part';

my @grosArray = (0..10000); # 10001 éléments

my $i = 0;
my @partition = part { $i++ / 10 } @grosArray;

print "@{$_}n" foreach (@partition) # 1001 petits tableaux




J'ai pas mal galéré à adapter pour mon code.. mais je me suis sorti ! ça
vraiment l'aire de bien marcher..

PS : j'avais un problème de déréférencement de mon tableau... et co mme
je comprends rien dans le ref deref...

En tout cas, un grand merci !