我想知道是否有任何有效的方法将包含两项元组和单个项的元组的列表转换为扁平列表或NumPy数组
list = [((-1, -1), -1), ((-1, -1), 0), ((-1, -1), 1), ((-1, -1), 2), ...]
我想要的结果是:
new_list = [[-1, -1, -1], [-1, -1, 0], [-1, -1, 1], [-1, -1, 2], ...]
到目前为止,我已经尝试使用
new_list = [item for i in list for item in i]
但结果是:
[(-1, -1), -1, (-1, -1), 0, (-1, -1), 1, (-1, -1), 2, ...]
当我试图删除嵌套的元组时,出现了错误
TypeError: 'int' object is not iterable
您需要保持列表的结构(或多或少)。您实际上是在展平嵌套元素,而不是列表本身。拆包是一种简单的方法
另一种是直接引用:
由于每个元组的结构似乎都是
((a, b), c)
,因此您可以在元组解包时使用列表理解:再短一点:
相关问题 更多 >
编程相关推荐