python展开嵌套列表的多种方法

2025-03-20 13:50

本文主要是介绍python展开嵌套列表的多种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下...

一、嵌套列表格式

php

本文模拟的嵌套列表alis,如下:

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]

嵌套列表alis,有以下特点:
1、嵌套列表alis,只有两层,格式为:[[]]。
2、第一层列表中的元素也全都是列表类型。

二、嵌套列表展开方法

(一)for循环

最容易想到的就是采用for循环进行展开。
利用for循环,结合列表本身的一些处理方法,可以有多种写法。
常见的3种写法如下:

(1)for循环+append()

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
blis = []
for lis in alis:
    if type(lis) == list:
        for i in lis:
            blis.append(i)
    else:
        blis.append(lis)
print('alis展开后:', blis)

alis展开后: [‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]

(2)for循环+python自加

原理:for循环相当于将嵌套列表变单层列表,自加相当于单层列表相加。

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
blis = []
for lis in alis:
    blis += lis
print("alis展开后:", blis)

alis展开后:[‘xx’, python‘yy’, 2, ‘四’, 4, ‘99’]

(3)for循环+extend()

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
blis = []
for lis in alis:
    blis.extend(lis)
print("alis展开后:", blis)

alis展开后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]

(二)列表推导式

列表推导式,for循环的简洁版

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
blis = [i for k in alis for i in k]
print("alis展开后:", blis)

alis展开后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]

(三)使用sum函数

使用方法:sum(嵌套列表,[])

alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
blis = sum(alis, [])
print("alis展开后:", blis)

alis展开后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]

以上嵌套列表的展开方法,主要是针对两层嵌套列表、且第二层均是列表的情况。更多相关python展开嵌套列表内容请搜索China编程(www.chinasem.cn)以python前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于python展开嵌套列表的多种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153852

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程