¿Por qué cuando pongo corchetes en la línea 4, la salida cambia?

def x(a, b):
    d = []
    for i in range(0, a):
        d += str(i) + b
    return d
c = x(3, "7")
print(c)

Salida:

['0', '7', '1', '7', '2', '7']
def x(a, b):
    d = []
    for i in range(0, a):
        d += [str(i) + b]
    return d
c = x(3, "7")
print(c)

Salida:

['07', '17', '27']

¿Por qué la salida cambió así?

-6
BWKC 23 ago. 2020 a las 14:42

1 respuesta

La mejor respuesta

Es simple,

d += 'a' + 'b' # is same as [] + list('ab') = ['a', 'b']

Similar

d += ['a' + 'b'] # is same as [] + ['ab'] = ['ab']

Cuando escribe convertir una cadena en lista, crea una lista de caracteres individuales como elementos de la lista.

Por ejemplo:

a = "Good"
b = list(a)
print(b) # will print as --> ['G', 'o', 'o', 'd']
2
Ajay A 23 ago. 2020 a las 11:48