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 :

construire un hash à partir des listes clés et valeurs


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 61
    Points : 53
    Points
    53
    Par défaut construire un hash à partir des listes clés et valeurs
    Comment construire un tableau associatif à partir de deux tableaux, le premier donnant les clés et le deuxième les valeurs; par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my @c=('un','deux',trois','quatre');
    my @v=(900,200,30,500);
    le résultat doit être le tableaa associatif ( ou hash )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my %h=('un'=>900,'deux'=>200,'trois'=>30,'quatre'=>500);

    j'ai essayé avec la fonction map en écrivant quelque chose de ce style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    map { ?} @c @v
    mais on ne peut lui passer qu'une liste



    Merci de m'aider

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    moi je fait ca :

    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
     
    #!/usr/bin/perl -w
     
    use strict;
     
    my %hash=();
    my @tab1=("un","deux");
    my @tab2=("1","2");
     
    foreach my $key (@tab1) {
    	$hash{$key}=shift(@tab2);
    }
     
    print "\n$hash{un}\n";
    print "\n$hash{deux}\n";
    resultat avec scite

    >perl -w hash.pl

    1

    2
    >Exit code: 0

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Le plus simple et probablement assez efficace, c'est d'utiliser une "tranche" de hash, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my @c=('un','deux',trois','quatre');
    my @v=(900,200,30,500);
    my %h;
    @h{ @c } = @v;
    --
    Jedaï

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 21/02/2014, 11h44
  2. Construire un jar à partir des fichiers class
    Par étudiante_info dans le forum Général Java
    Réponses: 7
    Dernier message: 12/01/2012, 10h15
  3. construire un jar à partir des sources d'une API
    Par Phonatacid dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 20/09/2010, 13h12
  4. [E-03] Construire doc Excel à partir des onglets
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2009, 13h11
  5. [MySQL] Construire une requête à partir de listes
    Par tagasuk dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/05/2007, 19h34

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