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

yipeiwu_com6年前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实现自动登录人人网并访问最近来访者实例

本文实例讲述了python实现自动登录人人网并访问最近来访者的方法,分享给大家供大家参考。 具体方法如下: ##-*- coding : gbk -*- #在 import os...

TensorFLow 不同大小图片的TFrecords存取实例

全部存入一个TFrecords文件,然后读取并显示第一张。 不多写了,直接贴代码。 from PIL import Image import numpy as np import m...

详解Python 函数如何重载?

什么是函数重载?简单的理解,支持多个同名函数的定义,只是参数的个数或者类型不同,在调用的时候,解释器会根据参数的个数或者类型,调用相应的函数。 重载这个特性在很多语言中都有实现,比如 C...

Python 3中print函数的使用方法总结

前言 Python 思想:“一切都是对象!”,最近发现python3和python2中print的用法有很多不同,python3中需要使用括号,缩进要使用4个空格(这不是必须的,但你最好...

Django中URL视图函数的一些高级概念介绍

说到关于请求方法的分支,让我们来看一下可以用什么好的方法来实现它。 考虑这个 URLconf/view 设计: # urls.py from django.conf.urls.de...