vez una restar recorrer otra listas lista iguales igualar entre diferencia con comparar comparacion como arreglos python list loops

una - recorrer dos listas a la vez python



repite en 2 listas, repitiendo la más corta hasta el final de la más larga (2)

Suponiendo que la es más larga que lb :

>>> import itertools >>> [x+''_''+y for x,y in zip(la, itertools.cycle(lb))] [''a1_b1'', ''a2_b2'', ''a3_b1'', ''a4_b2'']

  • itertools.cycle(lb) devuelve un iterador cíclico para los elementos en lb

  • zip(...) devuelve una lista de tuplas en la que cada elemento corresponde a un elemento en la junto con el elemento correspondiente en el iterador.

Estoy seguro de que hay una forma fácil y obvia de hacer esto, pero he estado buscando en Google y leyendo los documentos y simplemente no puedo encontrar nada.

Esto es lo que quiero lograr:

la = [''a1'',''a2'',''a3'',''a4''] lb = [''b1'',''b2''] result = [''a1_b1'',''a2_b2'',''a3_b1'',''a4_b2'']

Tengo una lista de fechas y algunas de ellas tienen algo marcado. Luego tengo una lista de fechas mucho más grande y quiero poner la lista más pequeña dentro de la lista más grande tantas veces como sea posible. Probablemente requerirá algún tipo de bucle ya que necesito acceso a las fechas en la lista más grande para el resultado final.

Por alguna razón no puedo ver una buena manera de hacer esto.


Tratar

result = ["_".join((i, j)) for i, j in itertools.izip(la, itertools.cycle(lb))]