Python 列表追加多个元素

0 投票
3 回答
10001 浏览
提问于 2025-04-17 22:55

我想一次性往我的列表里添加多个元素。我试过这样做:

>>> l = []
>>> l.append('a')
>>> l
['a']
>>> l.append('b').append('c')

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
   l.append('b').append('c')
AttributeError: 'NoneType' object has no attribute 'append'
>>>

那我该怎么一次性添加 'b''c' 呢?

3 个回答

1
l = []
l.extend([1,2,3,4,5])

有一个方法可以满足你的需求。

2

使用 list.extend 方法:

>>> l = []
>>> l.extend(('a', 'b'))
>>> l
['a', 'b']

需要注意的是,和 list.append 一样,list.extend 也是直接修改列表的内容,并且返回的是 None,所以你不能把这些方法连在一起使用。

但是对于字符串来说,它们的方法会返回一个新的字符串。因此,我们可以把这些方法连在一起调用:

>>> s = 'foobar'
>>> s.replace('o', '^').replace('a', '*').upper()
'F^^B*R'
3

方法 append()就地操作的。换句话说,它会直接修改原来的列表,而不会返回一个新的列表。

所以,如果你写 l.append('b'),它不会返回任何东西(实际上它返回的是 None),你 不能 这样做:

l.append('b').append('c')

因为这相当于

None.append('c')

回答这个问题:我怎么能一次性添加 'b' 和 'c'?

你可以用 extend() 这样来做:

l.extend(('b', 'c'))

撰写回答