list.append还是list+=?

33 投票
8 回答
9307 浏览
提问于 2025-04-15 11:29

哪个写法更符合Python的风格呢?

list.append(1)

还是

list += [1]

8 个回答

17

这两种操作是不同的,你用 += 做的是扩展操作。Python 的文档是这么说的:

list.append(x):把一个项目加到列表的末尾;这相当于 a[len(a):] = [x]。

list.extend(L):通过把给定列表中的所有项目添加到当前列表来扩展列表;这相当于 a[len(a):] = L。

所以在使用 += 时,你提供的是一个列表,而在 append 时,你只是添加一个新元素。

57

来自Python之禅的内容:

明确的比隐含的要好。

所以:list.append(1)

63

list.append(1) 更快,因为它不需要创建一个临时的列表对象。

撰写回答