cja*_*vin 2 python list-comprehension list flatten
假设我有一个包含(以及其他)不同类型的子列表的列表:
[1, 2, [3, 4], {5, 6}]
Run Code Online (Sandbox Code Playgroud)
我想以一种选择性的方式扁平化,这取决于它的元素类型(即我只想展平sets,其余部分不平整):
[1, 2, [3, 4], 5, 6]
Run Code Online (Sandbox Code Playgroud)
我目前的解决方案是一个功能,但仅仅是出于我的求知欲,我想知道是否可以用一个列表理解来做到这一点?
列表推导不是为扁平化而设计的(因为它们没有办法组合对应于多个输入项的值).
虽然您可以使用嵌套列表推导来解决这个问题,但这需要您的顶级列表中的每个元素都是可迭代的.
老实说,只需使用一个功能.这是最干净的方式.