【Python】多维列表变为一维列表的方法--numpy
转载:(18条消息) 【Python】多维列表变为一维列表的方法_四维列表变一维_Vincent__Lai的博客-CSDN博客
题目
给定一个多维列表,怎么让其变为一维?
例如,输入:[[1, 4], [2], [3, 5, 6]]
,输出:[1, 4, 2, 3, 5, 6]
常规一行做法
a = [[1, 4], [2], [3, 5, 6]] a = [j for i in a for j in i] print(a)
调用库不用循环一行做法
import itertools a = [[1, 4], [2], [3, 5, 6]] a = list(itertools.chain.from_iterable(a)) print(a)
自己写迭代器做法
a = [[1, 4], [2], [3, 5, 6]] a = iter(a) b = [] while 1: try: b += a.__next__() except StopIteration: break print(b)
(备注:理论上法三中用了迭代器,会比法一节约空间,但是因为另外开辟了一个变量b
,所以可能也没有相差很多,具体需要个分析内存空间的工具,之后再补)
调用numpy
import numpy as np a = [[1, 4], [3, 2], [5, 6]] a = np.array(a).flatten().tolist() print(a)
但是用numpy的前提是list中每一行的元素个数要一样
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)