Python列表附加了多个元素

时间:2014-03-19 04:57:11

标签: python list

我想立刻将多个元素附加到我的列表中。我试过这个

>>> 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 个答案:

答案 0 :(得分: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'

答案 1 :(得分:1)

方法append()适用于 。换句话说,它会修改列表,而不会返回新列表。

所以,如果l.append('b')没有返回任何内容(实际上它返回None),那么不能执行:

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

因为它等同于

None.append('c')

回答问题:如何一次追加'b'和'c'?

您可以通过以下方式使用extend()

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

答案 2 :(得分:1)

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

有一种方法可供您使用。