我需要这样转换数组:
[[1527 1369 86 86]
[ 573 590 709 709]
[1417 1000 68 68]
[1361 1194 86 86]]
喜欢这个:
[(726, 1219, 1281, 664),
(1208, 1440, 1283, 1365),
(1006, 1483, 1069, 1421),
(999, 1414, 1062, 1351),]
我试着直接使用convert to tuple,但是得到了:
( array([1527, 1369, 86, 86], dtype=int32),
array([573, 590, 709, 709], dtype=int32),
array([1417, 1000, 68, 68], dtype=int32),
array([1361, 1194, 86, 86], dtype=int32))
(array([701, 899, 671, 671], dtype=int32),)
数组方法
tolist
是将数组转换为列表的一种简单而快速的方法。它可以正确处理多个维度:在大多数情况下,如列表列表和元组列表或元组列表一样好。它们只在易变性上有所不同。
但是如果必须有元组,列表理解可以很好地完成转换。
另一个
[tuple(x) for x in arr]
比较慢,因为它是在数组上而不是在列表上迭代。它还会产生一个不同的结果——尽管您必须检查元组元素的type
才能看到这个结果。我强烈建议从
tolist
方法开始,然后执行任何列表到元组的转换。使用tuble和map这样的函数怎么样:
以下函数假设您不希望最终对象是numpy对象。
如果你想排成一行
相关问题 更多 >
编程相关推荐