是否有更简洁的方法来执行以下操作?
t = (1,2,3)
t2 = (4,5)
l.addAll(t)
l.addAll(t2)
print l # [1,2,3,4,5]
这是我到目前为止所尝试的:我宁愿避免在参数列表中传递。
def t_add(t,stuff):
for x in t:
stuff.append(x)
答案 0 :(得分:44)
使用list.extend()
,而不是list.append()
将迭代中的所有项目添加到列表中:
l.extend(t)
l.extend(t2)
或
l.extend(t + t2)
甚至:
l += t + t2
其中list.__iadd__
(就地添加)实施为list.extend()
。
演示:
>>> l = []
>>> t = (1,2,3)
>>> t2 = (4,5)
>>> l += t + t2
>>> l
[1, 2, 3, 4, 5]
但是,如果您只想创建t + t2
列表,那么list(t + t2)
将是到达目的地的最短途径。
答案 1 :(得分:5)
stuff.extend
就是你想要的。
t = [1,2,3]
t2 = [4,5]
t.extend(t2)
# [1, 2, 3, 4, 5]
或者你可以做到
t += t2