Quería fusionar 2 listas juntas (ListA, ListB). Pero la trampa es, después de cierto elemento dentro de ListA.

El usuario ingresa después de qué elemento ListB debe fusionarse con listA.

Por ejemplo;

ListA = [2,1,0]
ListB = [4,5,6]

El usuario ingresa 1 .

Salida:

new_list = [2, 4, 5, 6, 1, 0]

Ahora estaba pensando en usar un for loop, pero debido a mi conocimiento limitado en for loops no sé cómo puedo hacer que el ciclo se detenga después de una cierta cantidad de ciclos.

0
Andre 30 ago. 2014 a las 00:06

2 respuestas

La mejor respuesta

Esto es realmente fácil con la asignación de sectores, como se explica en la sección del tutorial en Listas:

ListA = [2,1,0]
ListB = [4,5,6]

# make a copy -- I'm assuming you don't want to modify ListA in the process.
new_list = ListA[:]
# insert ListB at a particular location.  I've arbitrarily chosen `1`
# basically this says to take the empty section of the list
# starting just before index 1 and ending just before index 1 and replace it
# with the contents of ListB
new_list[1:1] = ListB
# Check the output to make sure it worked.
print(new_list)  # [2, 4, 5, 6, 1, 0]
4
mgilson 29 ago. 2014 a las 20:34
ListA = [2,1,0]
ListB = [4,5,6]
a=[]
def merg(i):
 for i in range(i):
  a.append(ListA[i])
 for j in ListB:
  a.append(j)
 a.append(ListA[i+1])
 return a

print merg(2)

Demo:

[2, 1, 4, 5, 6, 0]
0
Kasramvd 29 ago. 2014 a las 20:40