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

Liste d'objets sans doublons

3 réponses
Avatar
Yves Martin
Bonjour,

J'utilise des 'array' pour stocker des chaînes mais je voudrai n'avoir qu'une
seule fois une chaîne insérée en plusieurs exemplaires.

J'imagine bien le code qui consiste à utiliser un 'hash' pour stocker les
chaînes comme clef et sortir (keys %hash) mais existe-t-il une solution plus
jolie / efficace ?

Merci d'avance
--
Yves Martin

3 réponses

Avatar
Sébastien Bourgasser
Yves Martin wrote:
Bonjour,

J'utilise des 'array' pour stocker des chaînes mais je voudrai n'avoir qu'une
seule fois une chaîne insérée en plusieurs exemplaires.

J'imagine bien le code qui consiste à utiliser un 'hash' pour stocker les
chaînes comme clef et sortir (keys %hash) mais existe-t-il une solution plus
jolie / efficace ?


Bonjour,

Le hash est en effet une solution simple. Elle me semble également
efficace. Si vous avez un grand nombre d'arrays, une petite fonction qui
dédoublonne est c'est tranquille.

L'autre solution, si vous pouvez, c'est de ne travailler qu'avec des
hash dès le départ.

--
Séb

Avatar
Sébastien Bourgasser
Yves Martin wrote:
Bonjour,

J'utilise des 'array' pour stocker des chaînes mais je voudrai n'avoir qu'une
seule fois une chaîne insérée en plusieurs exemplaires.

J'imagine bien le code qui consiste à utiliser un 'hash' pour stocker les
chaînes comme clef et sortir (keys %hash) mais existe-t-il une solution plus
jolie / efficace ?

Merci d'avance


Bonjour,

Le hash est en effet une solution simple. Elle me semble également
efficace. Si vous avez un grand nombre d'arrays, une petite fonction qui
dédoublonne et c'est tranquille.

L'autre solution, si vous pouvez, c'est de ne travailler qu'avec des
hash dès le départ.

--
Séb

Avatar
Stephane Zuckerman
J'utilise des 'array' pour stocker des chaînes mais je voudrai n'avoir qu'une
seule fois une chaîne insérée en plusieurs exemplaires.

J'imagine bien le code qui consiste à utiliser un 'hash' pour stocker les
chaînes comme clef et sortir (keys %hash) mais existe-t-il une solution plus
jolie / efficace ?

Merci d'avance


Bonjour,

Le hash est en effet une solution simple. Elle me semble également
efficace. Si vous avez un grand nombre d'arrays, une petite fonction qui
dédoublonne et c'est tranquille.


Oui enfin, rendre unique chaque entrée à partir d'un grand nombre de
tableaux, c'est bien si c'est fait une fois, mais si c'est systématique,
c'est carrément mauvais niveau performances (complexité en O(nm) pour
pouvoir peupler le hash - il faut parcourir chaque tableau en entier,
etc).

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)