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 :

Meilleure façon de faire un assignement conditionnel d'une liste ?


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Meilleure façon de faire un assignement conditionnel d'une liste ?
    Salut,

    Dans le cadre d'une liste ou d'un tuple s'occupant de coordonnées, y a t il une utilité à vouloir faire de l'assignement conditionnel et comment s'y prendre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>>xy=[0,9] #or (0,9)
    >>> #Basique :
    >>> if xy[1]+1<10:
    	xy[1]+=1 #or xy=xy[0],xy[1]+1
     
    >>> #Moins basique :
    >>> if (y:=xy[1]+1)<10:
    	xy[1]=y #or xy=xy[0],y
    La deuxième solution semble plus lente mais je m'y prends peut-être mal ?

    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
    19
    20
    >>> def test1():
    	xy = [0,9]
    	if xy[1]+1<10:
    		xy[1]+=1
     
    >>> def test2():
    	xy = [0,9]
    	if (y:=xy[1]+1)<10:
    		xy[1]=y
     
    def test():
    	import time
    	st = time.time()
    	for i in range(10000000):
    		test1()
    	print('test1',time.time()-st)
    	st = time.time()
    	for i in range(10000000):
    		test2()
    	print('test2',time.time()-st)
    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
    >>> test()
    test1 1.152806282043457
    test2 1.2091920375823975
    >>> test()
    test1 1.1500062942504883
    test2 1.1826136112213135
    >>> test()
    test1 1.1328635215759277
    test2 1.2107679843902588
    >>> test()
    test1 1.135441541671753
    test2 1.1759612560272217
    >>> test()
    test1 1.128035306930542
    test2 1.2089295387268066
    >>> test()
    test1 1.1322541236877441
    test2 1.1997888088226318
    C'était une question loufoque de plus !
    Merci d'avance !
    Dernière modification par Invité ; 10/10/2021 à 21h32.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2015, 04h56
  2. Réponses: 8
    Dernier message: 18/01/2008, 15h58
  3. Itération/recherche, meilleure façon de faire?
    Par Sallie dans le forum Langage
    Réponses: 34
    Dernier message: 16/01/2008, 10h00
  4. Réponses: 1
    Dernier message: 08/08/2007, 08h45
  5. Est ce bien la meilleure façon de faire un histogramme ?
    Par rvzip64 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 10/05/2005, 12h41

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