python实现嵌套列表平铺的两种方法

yipeiwu_com7年前Python基础

方法一:使用列表推导式

>>> vec = [[1,2,3],[4,5,6],[7,8,9]]
>>> get = [num for elem in vec for num in elem]
>>> get

[1, 2, 3, 4, 5, 6, 7, 8, 9]

方法相当于

>>> vec = [[1,2,3],[4,5,6],[7,8,9]]
>>> result = []
>>> for elem in vec:
for num in elem:
result.append(num)
>>> result

[1, 2, 3, 4, 5, 6, 7, 8, 9]

方法二:

使用sum函数

>>> vec = [[1,2,3],[4,5,6],[7,8,9]]
>>> get = sum(vec,[])
>>> get

[1, 2, 3, 4, 5, 6, 7, 8, 9]

或者是使用chain函数

>>> vec = [[1,2,3],[4,5,6],[7,8,9]]
>>> from itertools import chain
>>> list(chain(*vec))

[1, 2, 3, 4, 5, 6, 7, 8, 9]

以上这篇python实现嵌套列表平铺的两种方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python调用matlab的m自定义函数方法

项目信号处理和提取部分用到了matlab,需要应用到工程中方便研究。用具有万能粘合剂之称的“Python”。具体方法如下: 1.python中安装mlab 下载https://pypi...

python对字典进行排序实例

本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: import itertools thekeys = ['b','a'...

利用python实现微信头像加红色数字功能

利用python实现微信头像加红色数字功能

通过Python实现将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果 实现过程: 准备两张图片如下:  ...

在RedHat系Linux上部署Python的Celery框架的教程

在RedHat系Linux上部署Python的Celery框架的教程

 Celery (芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 架构设计  Celery的架构由...

python实现括号匹配的思路详解

1.用一个栈【python中可以用List】就可以解决,时间和空间复杂度都是O(n) # -*- coding: utf8 -*- # 符号表 SYMBOLS = {'}': '{'...