首页 > 解决方案 > 单行拼接列表

问题描述

我正在寻找一种 Pythonic 方法来根据其中一个列表中的值拼接两个列表。单线将是首选。

说我们有

[0, 1, 1, 0, 0, 1, 1, 1, 0, 1]

['a', 'b', 'c', 'd', 'e', 'f']

结果必须如下所示:

[0, 'a', 'b', 0, 0, 'c', 'd', 'e', 0, 'f']

标签: python

解决方案


您可以next使用iter

d = [0, 1, 1, 0, 0, 1, 1, 1, 0, 1]
d1 = ['a', 'b', 'c', 'd', 'e', 'f']
new_d = iter(d1)
result = [i if not i else next(new_d) for i in d]

输出:

[0, 'a', 'b', 0, 0, 'c', 'd', 'e', 0, 'f']

推荐阅读