ljsq.net
当前位置:首页 >> 如何把嵌套的python list转成一个一维的python list >>

如何把嵌套的python list转成一个一维的python list

# coding: utf-8 def some_list_to_one(the_list): result = list() for d in the_list: if type(d) == list: result += some_list_to_one(d) else: result.append(d) return result if __name__ == "__main__": a = [1, [2, [5, [7, 8], 6], 3]...

def expand(item): if isinstance(item, list): for sub in item: for i in expand(sub): yield i else: yield item list(expand(?))

def flattern(nested): result = [] if isinstance(nested, list): for sublist in nested: result.extend(flattern(sublist)) else: result.append(nested) return resulta = [[1,2],3,5,[[6,7],[8]]]flattern(a) # [1,2,3,5,6,7,8]

在确定list里的所有元素都是字符串的前提下,用字符串中的join()函数就可以实现: str = "".join(lst) #""即空字符串

def translist(l): result=[] for element in l: if type(element)==type([]): result.extend(translist(element)) else: result.append(element) return result

1可以使用"+"号完成操作 输出为: [1, 2, 3, 8, 'google', 'com'] 2.使用extend方法 、 输入相同 3使用切片 输出相同 PS:len(l1)代表要将l2插入l1中的位置 例如 输出为: 又如: 输出为: 总结:第一种方方法思路比较清晰,就是运算符的重载...

import itertools a = [[1,2,3],[4,5,6], [7], [8,9]] out = list(itertools.chain.from_iterable(a))

主要就是遍历哦。示例代码如下。 list_of_list=[[[1,2],3],4,[5,6,[7,[8,9,[10,11]]]]] lst=[] def lsts2lst(lsts,lst=lst): for l in lsts: if isinstance(l,list): lst=lsts2lst(l,lst) else: lst.append(l) return lst print(lsts2lst(list_o...

# coding: utf-8 def some_list_to_one(the_list): result = list() for d in the_list: if type(d) == list: result += some_list_to_one(d) else: result.append(d) return result if __name__ == "__main__": a = [1, [2, [5, [7, 8], 6], 3]...

python2的话 >>> from compiler.ast import flatten >>> flatten(a)

网站首页 | 网站地图
All rights reserved Powered by www.ljsq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com