python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python展开嵌套列表

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

作者:一位代码

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

一、嵌套列表格式

本文模拟的嵌套列表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’, ‘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展开嵌套列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文