在Python中快速、高效地合并嵌套列表的方法

在Python中快速、高效地合并嵌套列表的方法,python,list,Python,List,我试图合并一个Python列表,如下所示: list1=[“a”、“b”、“c”、“d”、“f”]] 希望得到这样的列表: list2=[“a”、“b”、“c”、“d”、“f”] 但最终,代码太长了。 在Python中是否有一种快速有效的方法来实现这一点 涉及for循环。没有for循环有没有更快的方法?您可以像这样使用iterables或子列表中的项。从性能上看,后者要快得多: import time import itertools list1 = ["a", &qu

我试图合并一个Python列表,如下所示:

list1=[“a”、“b”、“c”、“d”、“f”]]
希望得到这样的列表:

list2=[“a”、“b”、“c”、“d”、“f”]
但最终,代码太长了。 在Python中是否有一种快速有效的方法来实现这一点


涉及for循环。没有for循环有没有更快的方法?

您可以像这样使用iterables或子列表中的项。从性能上看,后者要快得多:

import time
import itertools

list1 = ["a", "b", "c", ["d", "f", ["g", "h"]]]

# example 1
t1 = time.time()
flat_list = list(itertools.chain.from_iterable(list1))
t2 = time.time()
print(flat_list)
print(t2-t1)
# ['a', 'b', 'c', 'd', 'f', ['g', 'h']]
# 3.0994415283203125e-06

# example 2
t1 = time.time()
flat_list = [item for sublist in list1 for item in sublist]
t2 = time.time()
print(flat_list)
print(t2-t1)
# ['a', 'b', 'c', 'd', 'f', ['g', 'h']]
# 2.1457672119140625e-06

@VishalSingh有一部分。代码较小,但仍然涉及到for循环。对于包含超过5000个元素的列表,这可能会变得很慢。不管怎样,你的建议真的很有用。非常感谢。它比for循环快吗?您的基准测试显示它慢了四倍。我看到您现在使用的是更深入的嵌套列表。这意味着我不能再考虑这个问题了。最好不要在时间上打印列表。使用第二种方法看起来要快40%以上