Python 多维数组到多维元组
如果我有这样一个数组:Python 多维数组到多维元组,python,arrays,multidimensional-array,tuples,Python,Arrays,Multidimensional Array,Tuples,如果我有这样一个数组: inner_loop = [ [ [18, 119], [42, 119], [42, 95], [18, 95] ], [ [80, 96], [80, 75], [59, 75], [59, 96] ] ] 如何将其转换为多维元组,如 ( ( (18, 119), (42, 119), (42, 95), (18, 95) ), ( (80, 96), (80, 75), (59, 75), (59, 96) ) ) 我试过: t
inner_loop =
[
[
[18, 119], [42, 119], [42, 95], [18, 95]
],
[
[80, 96], [80, 75], [59, 75], [59, 96]
]
]
如何将其转换为多维元组,如
(
(
(18, 119), (42, 119), (42, 95), (18, 95)
),
(
(80, 96), (80, 75), (59, 75), (59, 96)
)
)
我试过:
tuple(tuple(y) for y in (tuple(tuple (x) for x in (tuple(inner_loops)))))
但最后一个级别不会转换。如果您有大量数据,则使用map更具可读性,而且实际上效率更高:
tuple(tuple(tuple(l2) for l2 in l1) for l1 in inner_loop)
inner_loop = tuple(tuple(map(tuple, sub)) for sub in inner_loop)
print(inner_loop)
(((18, 119), (42, 119), (42, 95), (18, 95)), ((80, 96), (80, 75), (59, 75), (59, 96)))
我正在使用需要它的外部库。可能有多少个级别?不超过3个。这是一个多边形列表,所以列表->多边形->顶点