首页 > 编程语言 >【Python】多维列表变为一维列表的方法--numpy

【Python】多维列表变为一维列表的方法--numpy

时间:2023-07-06 20:22:36浏览次数:42  
标签:Python 列表 多维 一维 print 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中每一行的元素个数要一样

 

标签:Python,列表,多维,一维,print,numpy
From: https://www.cnblogs.com/zhiminyu/p/17533250.html

相关文章

  • 将PYTHON包环境从一个电脑拷贝到另外一个电脑
    将PYTHON包环境从一个电脑拷贝到另外一个电脑1、在当前电脑复制D:\ProgramFiles\Python\Python311\Lib中的所有文件生成myrequirement.txt文件pipfreeze>myrequirement.txtmyrequirement.txt文件如下:colorama==0.4.6constantly==15.1.0cpca==0.5.5cryptography=......
  • python pydoc模块生成html网页版内容
    pydoc是一个能生成网页版的模块,内置模块命令:python-mpydoc-p1234-m加载模块-p网页访问端口命令行:b打开浏览器q退出效果:Windows环境下:python-mpydoc-watexit//在当前目录创建atexit.htmlpython-mpydoc-p5000//启动一个Web服务器监听h......
  • CPython, Pypy, MicroPython...还在傻傻分不清楚?
    哈喽大家好,我是咸鱼当我们说Python时,通常指的是官方实现的CPython但还有很多比如Pypy、Jython、MicroPython、Brython、RustPython等“python”许多小伙伴看到这些带“python”的概念可能一头雾水,心想这跟我平时接触到的python有什么区别吗?这些到底是什么那么今天这......
  • Python如何实现docstring
    docPython语言从排版上看强制要求了一些书写规范,算是强制赋予了每个程序员一个"代码洁癖"。作为规范的一部分,可以在在类函数的开始增加注释,并且语言本身为这种注释做了"背书":可以通过help展示这个帮助文档的内容。这个本来是Python一个很细小的功能,也是一个很有意思的语法糖(因......
  • Python3读写TOML文件
    TOML(Tom'sObvious,MinimalLanguage)是一种易于阅读和编写的配置文件格式。它的设计目标是提供一种简单而灵活的方式来表示配置数据,以便于人类阅读和编辑。基础示例#config.toml[server]host="localhost"port=8080[database]name="mydb"user="myuser"passwor......
  • Python常用命令总结
    1.print()默认是print(end='\n')  如果不想换行可以print(end='')2.使print内容变成一行print(end='\t')3.不设置指定位置,按默认顺序"{}{}".format("hello","world")  eg打印99乘法表print({}*{}={}\t'.format(i,j,i*j),end......
  • python 并发编程之线程
    一、队列的使用1、在python中,内置的有一个类,Queue就是队列2、队列的使用frommultiprocessingimportQueueif__name__=='__main__':q=Queue(3)#队列的大小默认很大#1.如何入队、"""obj,block=True,timeout=None"""q.put('hellow......
  • API接口技术开发心得,阿里巴巴中国站获得1688商品详情数据采集商品规格信息列表调用参
     1688商品详情API接口的重要性主要体现在以下几个方面:提供全面的商品信息:1688商品详情API接口可以提供详尽的商品信息,包括商品名称、规格、价格、产地、供应商信息等。这些信息对于用户来说是非常重要的,可以帮助用户全面了解商品的特点和属性,从而做出更明智的购买决策。......
  • Python 异常处理(转载)
    Python异常处理什么是异常异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下语法错误这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正#语法错误示......
  • python基础 如何查看进程的id号、队列的使用(queue)、解决进程之间隔离关系、生产者消
    如何查看进程id号进程都有几个属性:进程名、进程id号(pid-->processid)每一个进程都有一个唯一的id号,通过这个id号就能找到这个进程importosimporttimedeftask():print("task中的子进程号:",os.getpid())print("主进程中的进程号:",os.getppid())#parent......