python - 将列表元素整合到列表列表中
问题描述
我想整合我的清单中的项目numbers
:
['1', '2', '3', '4', '5']
进入我的列表letters
:
[['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h', 'i', 'j'], ['k', 'l', 'm', 'n', 'o'], ['p', 'q', 'r', 's', 't'], ['u', 'v', 'w', 'x', 'y']]
要生成两者的组合,其中的第一个元素numbers
被添加到第一个列表的前面,letters
如下所示:
[['1', 'a', 'b', 'c', 'd', 'e'], ['2', 'f', 'g', 'h', 'i', 'j'], ['3', 'k', 'l', 'm', 'n', 'o'], ['4', 'p', 'q', 'r', 's', 't'], ['5', 'u', 'v', 'w', 'x', 'y']]
我尝试使用
newlist = []
for i in range(len(numbers)):
newlist.append ([numbers[i], letters[i]])
但是,这会产生如下结果:
[['1', ['a', 'b', 'c', 'd', 'e']], ['2', ['f', 'g', 'h', 'i', 'j']], ['3', ['k', 'l', 'm', 'n', 'o']], ['4', ['p', 'q', 'r', 's', 't']], ['5', ['u', 'v', 'w', 'x', 'y']]]
解决方案
一个班轮使用operator.iconcat
:
map(iconcat, map(list, numbers), letters)
对某些人来说可能不漂亮,但肯定很整洁!
我发现使用itertools.starmap
and 的其他功能解决方案operator.iadd
:
starmap(iadd, zip(map(list, numbers), letters))
您还可以使用itertools.chain.from_iterable
:
map(chain.from_iterable, zip(numbers, letters)))
推荐阅读
- linux - Docker 守护程序在 Dex 上的 Linux 上失败
- php - 不同 woocommerce 迷你购物车的不同购物车内容
- vue.js - 导入时组件不呈现
- c# - 无法将值传递给其他表单
- apache-spark - 在 Spark-submit --files 中发送的文件的 java.io.FileNotFoundException
- javascript - Episerver - 如何在 CMS 块编辑器中显示/隐藏属性
- node.js - 使用从文件加载的自定义设置扩展配置
- c# - 找不到 System.IO.Compression 程序集
- c++ - UNICODE_STRING 蓝屏死机 WDK
- python - Opencv从视频文件而不是网络摄像头将视频作为output.avi写入