我想立刻将多个元素附加到我的列表中。我试过这个
>>> 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'
?
答案 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])
有一种方法可供您使用。