python实现把二维列表变为一维列表的方法分析

yipeiwu_com7年前Python基础

本文实例讲述了python实现把二维列表变为一维列表的方法。分享给大家供大家参考,具体如下:

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

1.用列表推导式

>>> [n for a in c for n in a ]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

2.用嵌套循环展开

>>> result=[]
>>> for a in c:
 for n in a:
 result.append(n)
 result  #result的位置没有和第一个for对齐,所以结果不理想
[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

3.用sum对列表的求和

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

4.导入相关的包

>>>from itertools import chain
>>>list(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列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

相关文章

如何用itertools解决无序排列组合的问题

最近我作为Python菜鸟一枚开始征战Codewars,所以打算在这里记下遇到的有意思的题目。今天这第一题叫做“Best Travel”: John和Mary计划去一些小镇旅行。Mary...

pyQt5实时刷新界面的示例

如下所示: from PyQt5.QtCore import QThread , pyqtSignal, QDateTime , QObject from PyQt5.QtWidge...

Python 多线程其他属性以及继承Thread类详解

Python 多线程其他属性以及继承Thread类详解

一、线程常用属性 1.threading.currentThread:返回当前线程变量 2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指...

TF-IDF与余弦相似性的应用(二) 找出相似文章

TF-IDF与余弦相似性的应用(二) 找出相似文章

上一次,我用TF-IDF算法自动提取关键词。 今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,"Google新闻"在主新闻下方...

简单讲解Python中的闭包

闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(Lexical Closure)的简称。对闭包的具体定义有很多种说法,这些说法大体可以分...