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

Python Discussion :

récupérer la 1ere clé d'un dictionnaire python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Décembre 2016
    Messages : 24
    Par défaut récupérer la 1ere clé d'un dictionnaire python
    Bonjour,

    Voila j'ai crée un dictionnaire python et mes clés sont des dates auxquelles j'affecte des valeurs.

    J'ai besoin de récupérer la toute première clé de mon dictionnaire pour connaitre en fait la date de début.

    Je ne suis pas censé connaitre cette date donc j'ai juste besoin d'appeler la première clé de mon dictionnaire.

    Est ce que quelqu'un aurait une idée de comment faire çà ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    Depuis python3 les dictionnaires garde l'ordre de création des clés.

    Maintenant, la première date est-elle la plus ancienne ? Si oui, tu peux filtrer sur un min().

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par poseidon31 Voir le message
    Est ce que quelqu'un aurait une idée de comment faire çà ?
    On peut faire çà ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> next(iter(dict.fromkeys((2,3,1))))
    2
    >>> next(iter(dict.fromkeys((1,2,3))))
    1
    >>>
    Ce qui illustre que l'ordre d'insertion est préservé (pour les versions de Python 3.6+) mais que l'ordre d'insertion est différent de la relation d'ordre sur les clefs...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Décembre 2016
    Messages : 24
    Par défaut Merci
    Super, merci beaucoup a tous les deux, j'ai pu résoudre mon problème

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par josmiley Voir le message
    Depuis python3 les dictionnaires garde l'ordre de création des clés.
    Je crois que c'est depuis la version 3.6 plus exactement. Et quoi qu'il en soit, il existe toujours les OrderedDict du module collections.

    Citation Envoyé par josmiley Voir le message
    Maintenant, la première date est-elle la plus ancienne ? Si oui, tu peux filtrer sur un min().
    Moi j'aurais plutôt dit "si non". Si la première date est la plus ancienne, alors on peut la récupérer directement, ce sera la plus basse. C'est si ce n'est pas le cas qu'on est obligé de passer par un min(dict.keys())...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    Me suis mal exprimé, je voulais dire que, si le dict n'est pas ordonné et que la date est la plus ancienne, alors on peut min(filtre selon le format de la date). Effectivement, en l'état, Sve@r a raison.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [key for key in dict.keys()][0]
    Y a pas un moyen d'y accéder sans devoir consulter tout le dico ?

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [key for key in dict.keys()][0]
    list(dict.keys())[0]

    Citation Envoyé par LeNarvalo Voir le message
    Y a pas un moyen d'y accéder sans devoir consulter tout le dico ?
    next(iter(dict.keys()))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    next(iter(dict.keys()))...
    Ah ok, je pensais de travers... Autant pour moi !
    dict.keys() c'est une classe c'est ça ?
    Je trouve le résultat de cette commande bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>>dico = {"ap":8,"ca":0}
    >>>dico.keys()
    dict_keys(['ap', 'ca'])
    Pourquoi ça retourne dict_keys(...) et pas juste ['ap', 'ca'] ? Soyez indulgent je suis con !

    Y aurait-il moyen de faire quelque chose avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>>dir(dico.keys())
    ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'isdisjoint']
    ?

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

Discussions similaires

  1. Récupérer plusieurs donnée dans fichier JSON avec Python 3
    Par Antho000 dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 04/04/2019, 17h03
  2. Récupérer l'historique d'un wiki avec Python
    Par samiabhs dans le forum Général Python
    Réponses: 3
    Dernier message: 21/06/2016, 11h17
  3. [Python 3.X] récupérer la valeur maximum dans un dictionnaire python
    Par khaled87 dans le forum Général Python
    Réponses: 6
    Dernier message: 11/01/2015, 19h43
  4. [Python 2.X] Récupérer valeur d'une balise XML via Python
    Par jimmy1708 dans le forum Général Python
    Réponses: 2
    Dernier message: 08/07/2014, 17h47
  5. Conversion d'un dictionnaire Python en Tcl
    Par t_om84 dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 23/09/2009, 18h30

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