展开一个嵌套的列表

给定一个列表,如A=[1,[],[3,4,[5,6]],7,[8,9]],列表的子项仍然可能是列表,以此类推,即列表的嵌套可以到达任意的深度。

输入:输入一个嵌套列表,列表中不会出现字典,元祖等数据结构

输出:输出一个展开的列表

expend()接受一个列表参数,把参数列表的元素添加到列表的尾部

append()接受一个对象参数,把对象添加到列表的尾部

[1,2].expend([1,2,3])

[1,2,1,2,3]

[1,2].append([1,2,3])

[1,2,[1,2,3]]

#!-*-coding:UTF-8 -*-

def flatten_list(in_list):
  if in_list is None:
    return None
  out_list = []
  len_list = len(in_list)
  for i in xrange(len_list):
    if not isinstance(in_list[i],list):
      out_list.append(in_list[i])
    else:
      out_list.extend(flatten_list(in_list[i]))
  return out_list

print flatten_list([1,[],2,[3,4,[5,6]],7,[8,9]])
print flatten_list([[],[[]]])


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值