def fillList(listToFill,n): listToFill=range(1,n+1)
una nueva lista se crea dentro del ámbito de la función y desaparece cuando termina la función. inútil.
def fillList(listToFill,n): listToFill=range(1,n+1) return listToFill()
que devuelve la lista y usted debe utilizar de esta manera:
newList=fillList(oldList,1000)
- Y, por último, sin argumentos que regresan:
def fillList(listToFill,n): listToFill.extend(range(1,n+1))
y lo llaman así:
fillList(oldList,1000)
Conclusión:
dentro de una función, si desea modificar un argumento puede reasignar y devolverlo, o si puede llamar a los métodos del objeto y no devolver nada. No puede reasignarlo como si estuviera fuera de la función y no devolver nada, ya que no tendrá efecto fuera de la función.
La función no debe devolver nada, pero complete la lista que se le pasa con enteros de 1 a n. –
@LinusSvendsson: luego elimine el 'return' de mi sugerencia. –
la función debería tomar dos argumentos, la lista para llenar yn! –