Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #4262 > unrolled thread

Re: Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes)

Started byDamien Wyart <damien.wyart@free.fr>
First post2024-12-05 07:48 +0100
Last post2024-12-05 19:48 +0100
Articles 2 — 2 participants

Back to article view | Back to fr.comp.lang.python


Contents

  Re: Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes) Damien Wyart <damien.wyart@free.fr> - 2024-12-05 07:48 +0100
    Re: Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes) Olivier Miakinen <om+news@miakinen.net> - 2024-12-05 19:48 +0100

#4262 — Re: Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes)

FromDamien Wyart <damien.wyart@free.fr>
Date2024-12-05 07:48 +0100
SubjectRe: Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes)
Message-ID<67514caf$0$28500$426a34cc@news.free.fr>
[ Désolé si je casse l'enfilade, le serveur Free n'a pas ce message donc je l'ai
copié/collé manuellement ]

> >     maxcrepe = max(crepes[:desordre])
> >     maxindex = crepes.index(maxcrepe)

> Dans mon code, je n'ai pas besoin de la valeur maxcrepe, seul le maxindex
> m'est utile. Et je ne me sers de maxcrepe que pour trouver maxindex.

> Question : existe-t-il une commande en Python retournant directement le
> maxindex, ce pour éviter de lire le tableau plusieurs fois ?

Peu lisible mais (pour une liste l), on peut penser à des choses comme :

max_index = max(range(len(l)), key=l.__getitem__)

ou

max_index = max(range(len(l)), key=lambda e: l[e])


Même si c'est meilleur en théorie, en pratique, il semble que la solution
naturelle (que tu as utilisée) est aussi la plus rapide ; on trouve pas mal
d'analyses, par exemple :
https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-list/76981491#76981491
https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-list/44129039#44129039

Donc inutile de faire compliqué !  :-)

-- 
DW

[toc] | [next] | [standalone]


#4264

FromOlivier Miakinen <om+news@miakinen.net>
Date2024-12-05 19:48 +0100
Message-ID<visshr$1cvp$1@cabale.usenet-fr.net>
In reply to#4262
Le 05/12/2024 07:48, Damien Wyart a écrit :
> [ Désolé si je casse l'enfilade, le serveur Free n'a pas ce message donc je l'ai
> copié/collé manuellement ]

Le serveur free a de plus en plus de ratés.

Voir <http://usenet-fr.yakakwatik.org/acces.html> pour un serveur gratuit
alternatif. Si tu veux des conseils pour en choisir un dans cette liste,
tu peux aller poser la question sur fr.usenet.distribution.

>> >     maxcrepe = max(crepes[:desordre])
>> >     maxindex = crepes.index(maxcrepe)
> 
>> Dans mon code, je n'ai pas besoin de la valeur maxcrepe, seul le maxindex
>> m'est utile. Et je ne me sers de maxcrepe que pour trouver maxindex.
> 
>> Question : existe-t-il une commande en Python retournant directement le
>> maxindex, ce pour éviter de lire le tableau plusieurs fois ?
> 
> [liste de solutions moins lisibles /et/ moins rapides]
> 
> Donc inutile de faire compliqué !  :-)

En effet ! Encore merci de ta réponse.


-- 
Olivier Miakinen

[toc] | [prev] | [standalone]


Back to top | Article view | fr.comp.lang.python


csiph-web