Usar un número arbitrario de listas en una función


#1



https://www.codecademy.com/es/courses/python-beginner-en-wQyhJ/4/2?curriculum_id=50fc7aab5fab3aa9c2002444#


Replace this line with your code.


#2

Do you have a question to go with this topic? Please include your code as we cannot see it at that link. Only our own work is accessible.

¿Tiene alguna pregunta para ir con este tema? Incluya su código, ya que no lo podemos ver en ese enlace. Sólo nuestro propio trabajo es accesible.


#3

m = [1,2,3]
n = [4,5,6]
o = [7,8,9]
def myFun(*args):
args = m+n+o
return args
print myFun(m,n,o)

No se donde esta el error?


#4

The code you have written will concatenate the three lists into one.

El código que ha escrito concatenará las tres listas en una.

[] + [] + [] == []

There is only one return value, a single list.

Sólo hay un valor de retorno, una sola lista..


On the surface, this is partly true, I read too much into it and missed the obvious in the process.

En la superficie, esto es en parte cierto, leí demasiado en él y perdí lo obvio en el proceso.

args is the parameter object that contains the references to all the arguments. The keys to the hotel, as it were. We would not be helping any by overwriting it with three variables that are not defined.

args es el objeto de parámetro que contiene las referencias a todos los argumentos. Las llaves del hotel, por así decirlo. No estaríamos ayudando a ninguno sobrescribiéndolo con tres variables que no están definidas.

To unpack the arguments, define the variables on the left side, and assign the group object.

Para descomprimir los argumentos, defina las variables en el lado izquierdo y asigne el objeto de grupo.

m, n, o = args

Now you can return the concatenated list with those three objects.

Ahora puede devolver la lista concatenada con esos tres objetos.

return m + n + o

Or if you want to go into an algorithm approach...

O si quieres entrar en un enfoque de algoritmo ...

def myFun(*args):
    s = []
    for i in args:
        s += i
    return s

Then we don't need any variables besides a seed list object and an iterator. We also cannot be certain how long the arguments list will be. Who knows how many variables we would need? There is dedicated and there is dynamic. One is governed by constraints, the other is scalable or unbounded (within reason, one would hope).

Entonces no necesitamos ninguna variable además de un objeto de lista de semillas y un iterador. Tampoco podemos estar seguros de cuánto tiempo será la lista de argumentos. ¿Quién sabe cuántas variables necesitaríamos? Hay dedicado y hay dinámico. Uno está gobernado por restricciones, el otro es escalable o ilimitado (dentro de la razón, se podría esperar).

print myFun([1],[2],[3],[4],[5],[6],[7],[8],[9])

#5

Muchas Gracias, excelente explicación. Ahora tengo todo más claro.


#6

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.