百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

在 Python 中将多维列表平展为一维列表的方法

off999 2024-12-04 14:36 18 浏览 0 评论

将多维列表平展为一维列表是一项经常用到的技术。如果不依赖外部模块,可以使用for循环、列表推导式等技术来转换 Python 列表。

例如:

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

上面的列表包含三个子列表,我们需要将上面的列表转换为一维列表,如下所示:

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

那么,如何编写 Python 代码才能完成此操作?

使用 append() 方法转换列表

Python 中的 for 循环通过遍历每个子列表,然后迭代子列表中的每个元素。

使用列表的 append() 在一个新列表中追加所有元素。

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

for item in list1:
    for i in item:
        list2.append(i)
print(list2)

使用列表推导式转换列表

我们使用列表推导式来转换列表。列表推导式循环访问list1中的每个子列表,然后循环访问每个子列表中的每个元素,就像前面的 for 循环示例一样。

列表推导式和 for 循环之间的主要区别在于,列表推导式在一行中完成所有操作,使代码更加紧凑。

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [i for item in list1 for i in item]
print(list2)

使用 sum() 函数转换列表

你也可以使用 sum() 函数在 Python 中转换列表。sum() 函数是一个 Python 内置函数,对序列进行求和计算。可以与整数和浮点数等数值数据类型一起使用,也可以与列表一起使用。当与列表一起使用时,sum() 可以将列表连接在一起。

sum() 函数有两个参数:

第一个参数是可迭代的序列。

第二个参数是起始值。起始值是可选的,默认为 0。但是,由于我们使用的是列表而不是数字,因此我们必须提供与可迭代对象类型匹配的起始值。我们使用一个空列表 ([]) 作为起始值。

sum() 函数将list1中的每个列表与此起始值连接起来,从而实现转换列表。

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = sum(list1, [])
print(list2)

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

?

相关推荐

如何登录hotmail邮箱(国内怎么登陆hotmail)
  • 如何登录hotmail邮箱(国内怎么登陆hotmail)
  • 如何登录hotmail邮箱(国内怎么登陆hotmail)
  • 如何登录hotmail邮箱(国内怎么登陆hotmail)
  • 如何登录hotmail邮箱(国内怎么登陆hotmail)
电脑公司模拟器破解版下载(电脑公司模拟器1.0.8)

直接先将xci程序复制到switch存储卡根目录,而后通过主机自带的安装程序直接安装

xp系统永久激活密钥2020年(xp系统激活秘钥)

windowsxp产品密钥大全YBVJB-YV2JW-7FHPT-6D8XG-RT83GHRXTR-FKTCV-X8QCH-D7PTH-KYYPBJF8MD-XB4Y4-HHB28-Q3G2K-QW...

手写中文输入法下载安装(中文手写输入器)

1、首先第一步就是打开手机主界面,然后依次打开“设置”、“通用”、“键盘”,2、跳转的页面再点击“键盘”,3、勾选自己喜欢的中文手写模式,最后点击设定即可。仅参考先打开手机设置,然后点击一个语言和输入...

office2007的产品密钥(office 产品密钥)

下载一个kms软件关闭杀毒软件大概三十秒就会完成相应的注册然后就可以正常的使用了

十大杀毒app排行(知名杀毒软件)

360安全卫士今天就为您推荐杀毒软件排行榜第一的免费软件——360安全卫士,首创即扫即清功能,操作流程更简单,而且在用户使用过程当中还能有效拦截病毒的侵入,提供强力守护。状元:BitDefender ...

制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
笔记本怎么关闭防火墙(笔记本怎么关掉防火墙)

Win10教育版关闭防火墙设置方法  步骤1、在Win10桌面这台电脑图标上右键,然后选择“属性”。  步骤2、进入这台电脑属性之后,再点击左上角的“控制面板主页”。  步骤3、进入Win10控制面板...

32g内存还需要虚拟内存吗(32g内存还需要虚拟内存吗 知乎)

还需要的。虚拟内存是一定要的。就算你32G内存也是需要一个虚拟的转换空间。这个可以自己手动设置7000M左右就可以了,不用设置太大,没有用。虚拟内存是一定要的。就算你32G内存也是需要一个虚拟的...

5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
windows补丁怎么更新(windows 补丁更新)

windowsserver系统补丁升级的方法,1.打开WindowsServer系统运行对话框;2.在对话框中输入“control”;3.系统控制面板窗口自动打开;4.点击“Systemand...

电脑打不开了怎么重装系统(电脑打不开怎么重装系统不用u盘)

1、在可用电脑上制作好U盘启动盘,将下载的电脑系统iso文件直接复制到U盘的GHO目录下;2、在开不了机的电脑上插入U盘,重启后不停按F12或F11或Esc等快捷键打开启动菜单,选择U盘选项回车,比如...

路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
一键清理垃圾下载(一键清除垃圾软件下载)

手机弹出广告是因为手机上的软件自动推送广告,可以在手机设置里关闭应用的消息通知,方法如下:1、找到手机设置,点击进入2、找到应用和通知,点击进入3、点击通知管理,点击进入4、我们可以看到自己开启消息通...

取消回复欢迎 发表评论: