def myfunc(*args): mylist =  for num in args: if num % 2 == 0: mylist += [num] else: pass return mylist
In the example above, (my list += [num]), how come num has to be inside brackets? Using Thonny I finally figured out I needed to do this, but I still don’t know why. It seems like it should just add the num to the list (in my brain)? Appreciate any help.
When you use
+= to add it looks to combine variables of similar type, so num can be added to another
float, but only
list can be added to a list.
num = 2 num += 2 test =  test +=  print(num, test)
You can also use
list.append() if you want:
def myfunc(*args): mylist =  for num in args: if num % 2 == 0: mylist.append(num) else: pass return mylist print(myfunc(1,2,3,4,5,6))
[2, 4, 6]
This adds num as a element directly.
Answered By – Eli Harold
Answer Checked By – Cary Denson (BugsFixing Admin)