Python en vrac
Rédigé par Paulo
Aucun commentaire
Classé dans : Python
- %s ou .format :
format evidemment !
ici : https://pyformat.info/
- utilisation d'un template avec format
# QUESTION_URL = "http://stackoverflow.com/questions/{id}" for i in range(10) print QUESTION_URL.format(id=i)
- liste en comprehension...du bonheur !
# new_list = [ function(item) for item in range (0 , 10) ] paire = [ i for i in range (0 , 10) if i % 2 == 0 ] #transformation d'une liste de str en liste de int items = ["5", "10", "15"] items = [int(x) for x in items] items [5, 10, 15] #celle-ci, elle fait mal a la tete a = [(d,e) for d,e in [(i,j) for i in range(50) for j in range(50) if i>j] if d+e > 25]
- set en comprehension : pareil mais avec des accolades (produit un ensemble sans doublon)
#liste de comprehension s = [n % 5 for n in range(10)] [0, 1, 2, 3, 4, 0, 1, 2, 3, 4] #set de comprehension (sans doublon) s = {n % 5 for n in range(10)} [0, 2, 4, 6, 8]
- expression génératrices :
structures itérables dont la valeur est calculée au moment où on tente d’y accéder, et non pas à l’assignation
#on definit une fonction def sq(n): print('sq(%d)' % n) return n**2 #on itère le bazar, rien n'est affiché car la fonction est appellée uniquement lorsqu'on y accède g = (sq(i) for i in range(10)) #par contre, lorsque on accede for i in g: print(i) sq(0) 0 sq(1) 1 sq(2) 4 sq(3) 9 sq(4) 16 sq(5) 25 sq(6) 36