【记录】如何将numpy数组转换为元组

您所在的位置:网站首页 python如何将矩阵转化为列表 【记录】如何将numpy数组转换为元组

【记录】如何将numpy数组转换为元组

2023-08-19 06:53| 来源: 网络整理| 查看: 265

问题:

我想要将下面这个数组:

[[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转换,会得到这样:

(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 是将数组转换为列表的简便快捷方法。它可以正确处理多个维度:

In [92]: arr = np.arange(12).reshape(3,4) In [93]: arr Out[93]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) In [94]: arr.tolist() Out[94]: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]

对于大多数诸如列表列表之类的目的与元组列表或元组的元组一样好。它们只是在可变性上有所不同。

例如 我想要对列表里的列表进行去重操作会返回报错信息的。列表元素是不可以被去重的,但是元组可以。

解决方法: In [95]: [tuple(x) for x in arr.tolist()] Out[95]: [(0, 1, 2, 3), (4, 5, 6, 7), (8, 9, 10, 11)]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3