从多个列表中获取元素

use*_*833 1 python list

给出多个列表,如下所示:

a = [1, 2, 3]
b = [5, 6, 7, 8]
c = [9, 0, 1]
d = [2, 3, 4, 5, 6, 7]
...
Run Code Online (Sandbox Code Playgroud)

我希望能够在开始从第二个列表中获取元素之前将它们组合起来从第一个列表中获取尽可能多的元素,因此结果将是:

result = [1, 2, 3, 8, 6, 7]
Run Code Online (Sandbox Code Playgroud)

有没有一种特别好的方式来写这个.没有for循环,我想不出一个非常简单的.也许列表理解与聪明的拉链.我有兴趣看看你们能想出什么.

提前致谢 :)

sch*_*ggl 5

简单的切片和连接:

a + b[len(a):]
Run Code Online (Sandbox Code Playgroud)

或者有更多列表:

res = []
for lst in (a, b, c, d):
    res += lst[len(res):]
# [1, 2, 3, 8, 6, 7]
Run Code Online (Sandbox Code Playgroud)