python - 单行拼接列表
问题描述
我正在寻找一种 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']
解决方案
您可以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']
推荐阅读
- python - 尝试在 PYQT5 中查看 EXR 文件时 Python 崩溃
- react-native - 如何通过道具更改状态变量?
- algorithm - implement random 0 1 with custom parameter
- scala - 如何执行反射以查找扩展 Scala 中基类的所有类?
- python - 在对象字典中查找最小值
- r - 如何重复代码更改R中序列中的变量
- bloomberg - 在 Excel 上使用 Bloomberg API 查找股票代码更改/收购
- java - 如何从框架的左侧制作一条垂直的按钮?
- java - How to DRY inside activities
- django - What would be considered the root directory to a third party javascript in Django