用于合并列表,元组和集等迭代的通用解决方案

时间:2017-08-29 16:23:40

标签: python collections append concatenation containers

我正在寻找一种以通用形式合并迭代的pythonic和clean方法,甚至不知道它们的类型。

Delay = 600000 * 2 = 1200000 with Max Delay of 900000

我可以将所有内容转换为>>> l = [0, 1] >>> t = (2, 3) >>> s = {4, 5} 并将它们连接起来以示例:

list

所以你最终得到了这样的实用函数:

>>> res = []
>>> for it in (l, t, s):
...     res += it
... 
>>> res
[0, 1, 2, 3, 4, 5]

但它感觉不太好......有没有更优雅的东西呢?

1 个答案:

答案 0 :(得分:3)

itertools.chain这样做:

>>> from itertools import chain
>>> l = [0, 1]
>>> t = (2, 3)
>>> s = {4, 5}
>>> list(chain(l, t, s))
[0, 1, 2, 3, 4, 5]