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 :

Question bête sur les nombre à virugle


Sujet :

Python

  1. #21
    Membre actif Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Points : 212
    Points
    212
    Par défaut
    Effectivement le code de divide me fait obtenir un résultat dans le même ordre.

    Avant de finir sur ce post j'aurais encore 2 petites questions... je me suis renseigné sur le defaultdict et je trouve sa bien pratique. Par contre j'aimerais bien trier le tableau par ordre décroissant du nombre de répétition. Dans mes premières versions je faisai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau.sort(lambda X,Y : cmp(Y["nb"], X["nb"]))
    mais vu l'erreur retourner sort() n'est pas dispo avec defaultdict.
    Une idée ?

    Quant à la deuxième question je ne m'en souvien plus sa ne devait pas être important.

    En tout cas un gros merci à vous tous, j'ai appris beaucoup et cela grâce à vous. Si vous avez des conseils je suis toujours preneurs bref, MERCI
    die($hard); // ok je sort ....

  2. #22
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Les dictionnaires ne peuvent pas être ordonnés; le plus simple est de transformer le dictionnaire en liste après l'avoir rempli.

    Par exemple, si le dictionnaire s'appelle "tableau":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    liste = [(v,k) for k,v in tableau.iteritems()]
    liste.sort()
    for count, key in liste:
        print key, ':', count

  3. #23
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Une autre approche possible :

    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
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
    d = {
        'zzzz': 35,
        'mmmm': 12,
        'aaaa': 24,
    }
     
    print d
    # trier les valeurs
    print [v for v in sorted(d.values())]
     
    # trier les cles
    print [v for v in sorted(d.keys())]
     
    # trier les cles, mais afficher les valeurs
    print [d[v] for v in sorted(d.keys())]
    P.S. Il serait préférable de créer un sujet par question, cela permets aux autres utilisateurs de savoir de quoi traite le sujet
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  4. #24
    Membre habitué Avatar de moumine
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 237
    Points : 178
    Points
    178
    Par défaut
    Salut tu peux essayer de convertir ton fichier python en exécutable (.exe).
    A l'aide de "py2exe". Sa accéléra le temps d'exécution.

    un tuto (que j'ai fait ) : http://www.megaupload.com/fr/?d=94SZO3FC

    A+
    On rêvait tous d'une Barack blanche pour Obama

  5. #25
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    py2exe n'accélère pas l'exécution d'un programme Python. Il permet simplement de faciliter la distribution des programmes sous Windows.

    Il faut plutôt s'orienter vers Psyco [1].

    [1] http://psyco.sourceforge.net/

  6. #26
    Membre habitué Avatar de moumine
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 237
    Points : 178
    Points
    178
    Par défaut
    Oui, le programme est exécuter plus rapidement. Et c'est testé!!!
    On rêvait tous d'une Barack blanche pour Obama

  7. #27
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par moumine Voir le message
    Et c'est testé!!!
    Sources ?

  8. #28
    Membre habitué Avatar de moumine
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 237
    Points : 178
    Points
    178
    Par défaut
    Par moi!
    J'ai fait un programme qui incrémente une variable et je l'ai calibrer (le nombre d'incrément) pour que sa fasse environ 15 sec.
    Ensuite une fois le programme convertit il mettait moins de temps!
    Maintenant tu peux vérifier par toi même (c'est vite fait).
    A+
    On rêvait tous d'une Barack blanche pour Obama

  9. #29
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Faire un benchmark sur une simple incrémentation, on a vu mieux...

    Et « rapide à tester », je vais pas installer Windows pour ça

  10. #30
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 396
    Points
    396
    Par défaut
    Citation Envoyé par moumine Voir le message
    Par moi!

    Oui, peut être, mais ce n'est pas comme ca que l'on mesure; il manque des choses dans ton teste. Le fait de faire tourner ton programme sur ta machine de développement, peut être qu'il tourne en mode "Débuguage" alors que ton .exe tourne en mode "Release", peut être que c'est différant..... etc et blabla.....

    C'est certain Py2exe n'est pas un accélérateur, car le source n'est pas modifié.

  11. #31
    Membre habitué Avatar de moumine
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 237
    Points : 178
    Points
    178
    Par défaut
    Ben moi je propose que "zebulon94" test sa avec son programme.
    Sa ne coute rien d'essayer!
    Et là je suppose que nous pourrons facilement voir la différence!

    Pour ce qui est du test que j'ai effectuer. Certes il est simplement mais c'est largement suffisant!!
    On peut directement constater que sa exécute plus rapidement.

    Donc de dire que:
    Citation Envoyé par Desintegr Voir le message
    py2exe n'accélère pas l'exécution d'un programme Python.
    C'est FAUX
    A+
    On rêvait tous d'une Barack blanche pour Obama

  12. #32
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par moumine Voir le message
    C'est FAUX
    Preuves et sources objectives ?

  13. #33
    Membre habitué Avatar de moumine
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 237
    Points : 178
    Points
    178
    Par défaut
    Je ne peux pas te donner des "Preuves et sources objectives". Car ce test c'est moi qu'il a réalisé.(uniquement)
    Peut être bien qu'il n'accélère pas l'exécution mais c'est plus rapide que si on lance le programme directement de python x.x.
    On rêvait tous d'une Barack blanche pour Obama

  14. #34
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Voir l'option -O de l'interpréteur Python.

  15. #35
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    "TINTIN" :
    l'omégazine lu de Sète à Soissons, te dit : «C'est tentant»
    :













    Savounette y est pas os courant, hin ?








+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Question bête sur les ancres
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/01/2008, 14h28
  2. question bête sur les binaires
    Par ben_skywalker dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 11h29
  3. Question bête sur les conteneurs
    Par jadey dans le forum C++
    Réponses: 21
    Dernier message: 04/05/2006, 00h09
  4. [VB6]Question bête sur les paramètres optionels
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/10/2005, 20h33
  5. [MFC] Question bête sur les CListBox
    Par gwendo dans le forum MFC
    Réponses: 1
    Dernier message: 10/08/2005, 16h43

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