Python en vrac

Rédigé par Paulo Aucun commentaire
Classé dans : Python Mots clés : comprehension, set

 

- %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)

La suite : http://sametmax.com/le-guide-ultime-et-definitif-sur-la-programmation-orientee-objet-en-python-a-lusage-des-debutants-qui-sont-rassures-par-les-textes-detailles-qui-prennent-le-temps-de-tout-expliquer-partie-2/


- 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

Les commentaires sont fermés.