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 :

Sans utiliser boucle for


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Points : 16
    Points
    16
    Par défaut Sans utiliser boucle for
    Comment faire ça sans boucle for ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    smax = 0
    entmax = None
    for s in score_1.items():
         if s[1] > smax:
               smax = s[1]
               entmax = s[0]

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Elle est très bien cette boucle.
    Mais si tu y tiens, alors comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    >>> l = [("a", 4), ("b", 2), ("c", 7), ("d", 1)]
    >>> mx = sorted(l, key=lambda item: item[1])[-1]
    >>> entmax, smax = mx
    >>> entmax
    'c'
    >>> smax
    7
    >>>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Excellent ! merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    On peut aussi utiliser "max" directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> l = [("a", 4), ("b", 2), ("c", 7), ("d", 1)]
    >>> entmax, smax = max(l, key=lambda s: s[1])
    >>> entmax, smax
    ('c', 7)
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. [Débutant] Différence de résultat avec ou sans la boucle for !
    Par hydric dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/06/2017, 01h18
  2. [XL-2013] Problème pour utiliser boucle For -> Next
    Par parvi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/04/2015, 11h20
  3. Réponses: 2
    Dernier message: 26/03/2013, 16h48
  4. Réponses: 0
    Dernier message: 20/04/2011, 14h51
  5. Séries de Fourier, utilisation boucle "for"
    Par Poyel dans le forum Signal
    Réponses: 2
    Dernier message: 02/01/2008, 16h28

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