python - 如何使用列表理解来存储列表的嵌套列表

标签 python python-3.x list list-comprehension

我想知道,如果我有 nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]我如何能够打破循环并只将项目存储在每个嵌套列表中,我所说的循环是指当我尝试时:

result = [[value_1 for value_1 in a_list] for a_list in nested_list]

结果唯一的结果是......我们开始的确切列表:/。那么存储这样的项目的方法是什么[1, 2, 3, 4, 5, 6, 7, 8, 9]nested_list 上使用列表推导式.我再说一遍,列表理解,而不是“for 循环”。

最佳答案

尝试这个:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
output = [item for sublist in nested_list for item in sublist]
print(output) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

说明 :

当您对嵌套循环使用列表推导式时,表达式的结构如下:
  • 最左边的表达式,item , 将包含返回的列表。
  • 左起第一个循环是最外层循环,for sublist in nested_list所以首先你遍历输入列表中的每个元素并将其命名为 sublist .
  • 最右边的循环,for item in sublist是最内层的循环。在您的情况下,此循环遍历 sublist 的每个元素并命名 item最终将在输出中返回。
  • 关于python - 如何使用列表理解来存储列表的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61542905/

    相关文章:

    python - dist-packages 和 sys.path

    python - 使用 BeautifulSoup 提取两个节点之间的兄弟节点

    python - Twitter API XML 访问

    python - 用 Python 发帖

    python-3.x - 使用 lambda 将字典映射到 pandas 系列

    python - 计算二维列表的总和

    Python,2个列表之间所有可能的数字组合

    python - 调用 sys.exit() 后不触发 atexit

    python - 如何在Python中将视频分成4个相等的部分?

    Python 列表理解 : set all elements in an array to 0 or 1