Python代码阅读(第11篇):展开嵌套列表

Python代码阅读(第11篇):展开嵌套列表_第1张图片

Python 代码阅读合集介绍: 为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了展开嵌套列表的功能,将一个嵌套的list展开成一个一维list(不改变原有列表的顺序)。

本篇阅读的代码片段来自于30-seconds-of-python

flatten

def flatten(lst):
  return [x for y in lst for x in y]

# EXAMPLES
flatten([[1,2,3,4],[5,6,7,8]]) # [1, 2, 3, 4, 5, 6, 7, 8]

flatten函数接收一个嵌套列表(以列表为元素的列表),返回一个按照原有顺序展开后的一维列表。

该函数使用了列表推导式进行数据处理。该推导式使用了两层for循环,等价于

def flatten(lst):
  flatten_list = []
  for y in lst:
    for x in y:
      flatten_list.append(x)
  return flatten_list

你可能感兴趣的