📅  最后修改于: 2023-12-03 15:19:20.896000             🧑  作者: Mango
当我们需要合并多个列表时,通常使用 +
运算符或 extend()
方法。但是,有时候我们只需要合并其中的某几个列表,而不是全部合并。本文介绍一种方法,可以每第 N 个位置选择性合并列表。
假设我们有以下 5 个列表:
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
d = [10, 11, 12]
e = [13, 14, 15]
如果我们想要每第 2 个位置合并一次列表,即得到 [1, 2, 4, 5, 7, 8, 10, 11, 13, 14]
,可以按照以下步骤操作:
lists = [a, b, c, d, e]
selected_lists = lists[::2]
,这里的 2
表示步长为 2。result = [item for sublist in selected_lists for item in sublist]
完整代码如下:
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
d = [10, 11, 12]
e = [13, 14, 15]
lists = [a, b, c, d, e]
selected_lists = lists[::2]
result = [item for sublist in selected_lists for item in sublist]
print(result) # [1, 2, 4, 5, 7, 8, 10, 11, 13, 14]
此方法可扩展至任意步长和任意选择的列表位置,具有很高的灵活性和可用性。