I have to make a function that takes an empty list as first argument and n as secound argument, so that:
L=[]
function(L,5)
print L
returns:
[1,2,3,4,5]
I was thinking:
def fillList(listToFill,n):
listToFill=range(1,n+1)
but it is returning an empty list.
Consider the usage of extend
:
>>> l = [] >>> l.extend(range(1, 6)) >>> print l [1, 2, 3, 4, 5] >>> l.extend(range(1, 6)) >>> print l [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
If you want to make a function (doing the same):
def fillmylist(l, n):
l.extend(range(1, n + 1))
l = []
fillmylist(l, 5)
And a bit shorter example of what you want to do:
l = []
l.extend(range(1, 5))
l.extend([0]*3)
print(l)
A function without an explicit return
or yield
returns None
. What you want is
def fill_list(l, n):
for i in xrange(1, n+1):
l.append(i)
return l
but that's very unpythonic. You'd better just call range(1, n+1)
which also returns the list [1,2,3,4,5]
for n=5
:
def fill_list(n):
return range(1, n+1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With