python - List.append() under a loop in a list can't get a right ouput -
usually this:
a=[] x in range(5): a.append(x) print(a) # [0, 1, 2, 3, 4] then put loop in list
a=[] l=[a.append(x) x in range(5)] print(l) # [none, none, none, none, none] i don't konw what's wrong it...
the problem here a.append(x) method of list a modifies a in place. returns none.
interestingly this:
a=[] l=[a.append(x) x in range(5)] print(l) # [none, none, none, none, none] print(a) # [0, 1, 2, 3, 4] note a updated. however, using list comprehensions side effects not recommended since code becomes hard understand.
if want create l using list comprehension should this:
l = [x x in range(5)] print(l) # [0, 1, 2, 3, 4] the best code hovever simply
l = list(range(5)) print(l) # [0, 1, 2, 3, 4]
Comments
Post a Comment