我是靠谱客的博主 飞快含羞草,最近开发中收集的这篇文章主要介绍Python教程:如何将list嵌套的list的[]去掉,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

比如说

a = [[1,2,3], [5, 2, 8], [7,8,9]]

我们需要将里面的[]去掉,但是又不删除任意元素

如果list里里面的元素是数字,‘1’也是可以的,那么我们可以使用np.ravel

a = [[1,2,3], [5, 2, 8], [7,8,9]]
list(np.ravel(a))
#[1, 2, 3, 5, 2, 8, 7, 8, 9]

或者

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = [['1',2,3], [5, 2, 8], [7,8,9]]
list(np.ravel(a))
#['1', '2', '3', '5', '2', '8', '7', '8', '9']

但是下面这种就不可以

a = [[1,2,3],1, [5, 2, 8], [7,8,9]]
list(np.ravel(a))
#[[1, 2, 3], 1, [5, 2, 8], [7, 8, 9]]

使用起来比较严格

反正都是要求元素是list或者是str,但是不能是int

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from itertools import chain
a = [['1','2','3'],'1']
list(chain(*a))
#['1', '2', '3', '1']
或者是list(chain.from_iterable(a)

实在不行就写个循环语句

func = lambda x: [y for l in x for y in func(l)] if type(x) is list else [x]
func(a)

自定义一个函数

def flat(a):
l= []
for i in a:
if type(i) is list:
for j in i:
l.append(j)
else:
l.append(i)
return(l)
flat(a)

最后

以上就是飞快含羞草为你收集整理的Python教程:如何将list嵌套的list的[]去掉的全部内容,希望文章能够帮你解决Python教程:如何将list嵌套的list的[]去掉所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部