【发布时间】:2017-04-26 19:46:55
【问题描述】:
我有一个列表,它可以由列表或整数或无组成。我想将此列表中的可迭代元素(假设现在只有列表)展平为单个元素。
例如:
[[0, 1], [2, 3], 1, 3, 4, 0, None] into [0,1,2,3,1,3,4,0,None]
使用列表理解。我发现了另一个类似的问题,但所有这些元素在该列表中都是可迭代的,因为我的也有整数,我如何在第一个“for 循环”的列表理解中使用 if else 逻辑。我正在尝试这样的事情,但不确定确切的语法是什么。
[ item sublist if isinstance(sublist,list) else [sublist] for 子列表中的项目的子列表]
基于其他问题,if-else 应该出现在 for 循环之前,而 for 循环必须按顺序出现。我无法在第一个 for 循环之后插入 if else,语法只允许 if 而不是 else。
有人可以帮忙解释一下这个语法吗,在第一个 for 循环中执行 if-else 或在理解中嵌套 for 循环中的任何中间 for 循环?
【问题讨论】:
标签: python python-2.7 list nested list-comprehension