Add all elements of an iterable to list(将可迭代的所有元素添加到列表)
问题描述
是否有更简洁的方法来执行以下操作?
Is there a more concise way of doing the following?
t = (1,2,3)
t2 = (4,5)
l.addAll(t)
l.addAll(t2)
print l # [1,2,3,4,5]
这是我迄今为止尝试过的:我宁愿避免在参数中传入列表.
This is what I have tried so far: I would prefer to avoid passing in the list in the parameters.
def t_add(t,stuff):
for x in t:
stuff.append(x)
推荐答案
使用 list.extend(),而不是 list.append() 从一个可迭代到列表:
Use list.extend(), not list.append() to add all items from an iterable to a list:
l.extend(t)
l.extend(t2)
或
l.extend(t + t2)
甚至:
l += t + t2
其中 list.__iadd__(就地添加)在底层实现为 list.extend().
where list.__iadd__ (in-place add) is implemented as list.extend() under the hood.
演示:
>>> l = []
>>> t = (1,2,3)
>>> t2 = (4,5)
>>> l += t + t2
>>> l
[1, 2, 3, 4, 5]
但是,如果您只想创建一个 t + t2 列表,那么 list(t + t2) 将是到达那里的最短路径.
If, however, you just wanted to create a list of t + t2, then list(t + t2) would be the shortest path to get there.
这篇关于将可迭代的所有元素添加到列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将可迭代的所有元素添加到列表
基础教程推荐
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
