IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage] Supprimer les elemnts identiques ds un tableau(les doublons)


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 66
    Points
    66
    Par défaut [langage] Supprimer les elemnts identiques ds un tableau(les doublons)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @tab=[              14516,
                        78376,
                        83987,#
                        83987,#
                        76387,
                        930982,
                        83987#
                       ]
    Dans ce tableau qui est un exemple, il ya certains elements de mm valeur.
    83987 est présent trois fois dans ce tableau, je voudrais donc supprimer deux de ses occurences ce qui donnerait un resultat com cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @tab=[              14516,
                        78376,
                        83987, #Cet element est desormais present qu'une fois
                        76387,
                        930982,
                       ]
    Je pensais passer par l'intermediaire d'un autre tableau, mais je bloque!!!
    Merci de votre aide.
    [/code]

  2. #2
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    Voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    my @sans_doublons, %cache = ();
     
    foreach my $i (@tab) {
    	next if $cache {$i};
    	push @sans_doublons, $i;
    	$cache {$i} = 1;
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    Merci bien ca marche direct !!!!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 90
    Points : 96
    Points
    96
    Par défaut
    salut

    j'ai vu ca dans le cookbook perl
    solution en 1 ligne , la plus rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my @sans_doublons;
    my %cache = ();
    @sans_doublons = grep { !  $cache{$_} ++ } @tab;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    exact ca marche bien,
    Oh c tres bo tout ca en 1 seule ligne en plus, merci bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/11/2014, 18h50
  2. [XL-2010] Supprimer des cellules identiques dans un tableau
    Par Clement_19 dans le forum Excel
    Réponses: 5
    Dernier message: 17/04/2013, 11h43
  3. Supprimer les éléments identiques d'un tableau
    Par kanzarih dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2009, 10h55
  4. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  5. [langage] supprimer le premier élément d'un tableau
    Par Kinethe dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2004, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo