8

当我做:

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

我明白了

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

真的没有办法附加所有通过条件的 i 吗?

4

2 回答 2

20

append是一个方法,你使用函数调用语法。

l.append(i)

此外,在这种情况下,更优雅的方法是使用列表推导:

l = [i for i in range(10) if i % 3 == 0 or i % 5 == 0]
于 2012-04-12T21:22:26.827 回答
8

l.append[i]

错误的括号。你应该使用:

l.append(i)

于 2012-04-12T21:22:31.037 回答