【Python】获取多维数组中元素数目(获取数组中点坐标的数量)

有一个坐标集合,我想要知道一共有多少个点(Point),但是似乎没有先成的工具来计算集合中点的数量,因此决定自己写一下,来计算数组中坐标的个数。

识别案例:

Points = [
[1,2],[3,4],
[[1,2],[1,2],[3,4]]
]

算法思路:

因为是为了计算总个数,需要不断对数组进行遍历,直到底部元素为单独的二维数组为止,因此,采用递归的方法,如果遍历到的元素满足单独的条件,那么总数+1;否则对这个数组的每一个子数组进行遍历。

Step 1:(多维数组中元素个数的计算)

def GetArrayNum(Array):
    ThisNum = 0
    if type(Array) == int or type(Array) == float:
        ThisNum = ThisNum + 1
        return ThisNum
    if len(Array) == 1:
        if type(Array[0]) == int or type(Array) == float:
            ThisNum = ThisNum + len(Array)
            return ThisNum
        if len(Array[0]) > 1:
            for i in range(0,len(Array[0])):
                ThisNum = ThisNum + GetArrayNum(Array[0][i])
            return ThisNum
    if len(Array) > 1:
        for i in range(0,len(Array)):
            ThisNum = ThisNum + GetArrayNum(Array[i])
        return ThisNum
            

测试

 Step 2:点坐标数目的计算

def GetCoordinateNum(Point):
    ThisCoordinateNum = 0
    if len(Point) == 2:
        if (type(Point[0])==int or type(Point[0])==float) and (type(Point[1])== int or type(Point[1])== float):
            ThisCoordinateNum = ThisCoordinateNum + 1
            return ThisCoordinateNum
        else:
            for i in range(0,len(Point)):
                ThisCoordinateNum = ThisCoordinateNum + GetCoordinateNum(Point[i])
            return ThisCoordinateNum
    else:
        for i in range(0,len(Point)):
            ThisCoordinateNum = ThisCoordinateNum + GetCoordinateNum(Point[i])
        return ThisCoordinateNum

测试 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值