← retour aux snippets

itertools.repeat: fournir une valeur par défaut/itérative

Répéter une valeur sans l'allouer N fois, utile pour zip/map.

python itertools #itertools#repeat#defaults

objectif

Répéter une valeur sans l’allouer N fois, utile pour zip/map.

code minimal

import itertools
pairs = list(zip(range(3), itertools.repeat("a")))
print(pairs == [(0,"a"),(1,"a"),(2,"a")])  # attendu: True

utilisation

import itertools
scaled = list(map(lambda x_y: x_y[0]*x_y[1], zip([1,2,3], itertools.repeat(10))))
print(scaled == [10,20,30])

variante(s) utile(s)

import itertools
print(next(itertools.repeat(5)) == 5)

notes

  • repeat(value, times) émet value times fois; sans times, c’est infini.
  • Combinez avec starmap/zip pour paramétrer des pipelines.