l.append[i], object is not subscriptable?

17,592

Solution 1

append is a method, you use function call syntax.

l.append(i)

Also, more elegant approach in cases like this is to use list comprehension:

l = [i for i in range(10) if i % 3 == 0 or i % 5 == 0]

Solution 2

l.append[i]

Wrong parenthesis. You should use:

l.append(i)

Share:
17,592
Bentley4
Author by

Bentley4

Profile with mostly old questions where I learned about programming. Thank you SO!

Updated on July 22, 2022

Comments

  • Bentley4
    Bentley4 almost 2 years

    When I do:

    l = []
    for i in range(10):
        if i%3 == 0 or i%5 == 0:
            l.append[i]
    print sum(l)
    

    I get

    Traceback (most recent call last):
      File "PE1.py", line 4, in <module>
        l.append[i]
    TypeError: 'builtin_function_or_method' object is not subscriptable
    

    Is there really no way append all the i's that pass the condition?