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] Suppression de doublon dans tableau


Sujet :

Langage Perl

  1. #1
    LFC
    LFC est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Points : 70
    Points
    70
    Par défaut [langage] Suppression de doublon dans tableau
    Bonjour

    Est-ce qu'il existe un équivalent de array_unique en Perl ?
    Parce je ne pense pas qu'il connaisse cela puisqu'il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Undefined subroutine &main::array_unique called at fich.pl line 10.
    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    salut,

    non en perl tu dois faire une methode d'elimination des doublons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       foreach my $elt (@redondant) {
          unless ($deja_vu{$elt})
          {
          $deja_vu{$elt} = 1;
          push(@uniques,$elt);
          }
       }

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 587
    Points : 2 036
    Points
    2 036
    Par défaut
    Toi aussi, tu peux te faire ta propre fonction Array_Unique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub Array_Unique
    {
        my @List = @_;
        my %FutureList;
        foreach(@List)
        {
            $FutureList{$_} = 1; # supprime les doublons au passage
        }
        return (keys(%FutureList));
    }
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Liste = Array_Unique(@Liste);
    Edit1 : ma fonction ne ... fonctionne qu'avec des listes simples, autrement dit (en C) des tableaux à 1 dimension. Si ta liste contient elle aussi des listes, il va falloir étoffer un peu

    Edit2 : et ma fonction à deux balles n'est pas tip top si tu souhaites récupérer les éléments triés dans le même ordre qu'initialement. Autrement dit : oublie ma fonction !!

  4. #4
    LFC
    LFC est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    Bonjour

    Mon tableau est uniquement composé de 3 valeurs, donc le fait que ça gère le 1 dimension est suffisant.

    Mais ça ne semble pas marcher encore...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    $pays_fr = 'France';
    $pays_en = 'France';
    $pays_es = 'Francia';
    @List = $pays_fr." ".$pays_en." ".$pays_es;
     
    sub Array_Unique 
    { 
    my @List = @_; 
    my %FutureList; 
    	foreach(@List) 
    	{ 
    	$FutureList{$_} = 1;
    	} 
    return (keys(%FutureList)); 
    }
    @List_unique = Array_Unique(@List);
    print @List_unique;
    Et il m'affiche les 3 valeurs, donc ce n'est pas épuré...

    Voilà, si t'as une idée...

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 587
    Points : 2 036
    Points
    2 036
    Par défaut
    J'ai juste changé cette ligne là dans ton exemple et là, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @List = ($pays_fr, $pays_en, $pays_es);
    Il me semble que, de tes 3 valeurs, tu n'en faisais plus qu'une via concaténation. Ton tableau @List ne contenait qu'un seul élément avant passage dans la fonction, laquelle te retournait cet élément unique.


  6. #6
    LFC
    LFC est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    Merci beaucoup.

    Les deux réponses proposées marchent, le seul problème c'était la définition de mon tableau à l'origine...

    Cordialement.

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

Discussions similaires

  1. Suppression des doublons dans une variable de type tableau
    Par damsmut dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/07/2019, 11h36
  2. Suppression de doublon dans un tableau d'objet javascript
    Par hepard dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/06/2012, 22h13
  3. [Tableaux] suppression des doublons dans un tableau
    Par hammag dans le forum Langage
    Réponses: 3
    Dernier message: 17/06/2009, 20h13
  4. Réponses: 2
    Dernier message: 16/06/2009, 11h44
  5. Suppression de doublons dans un tableau
    Par Didi34 dans le forum Langage
    Réponses: 6
    Dernier message: 03/12/2008, 11h35

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