python - 什么更快 : Python 3's ' len' or numpys shape?

标签 python python-3.x opencv numpy

我有一个坐标数组:

points = [x,y]

具有(numpy)尺寸/形状:(18, 1, 2)

在 matlab 中,要初始化一个 1 数组以用“3”索引这些点,我可以这样做:

A = ones(size(points,1),1)*3'

我怎样才能以最快的方式使用 python3 和 numpy 做到这一点?

最佳答案

    def time_compare(self):
        loops = 100000000
        start = time.time()
        for i in range(loops):
            self.value_map.shape[0]
            self.value_map[0].shape[0]
            self.value_map[0][0].shape[0]
            self.value_map[0][0][0].shape[0]
        end = time.time()
        timed = (end - start)
        print("shape={}".format(timed))

        start = time.time()
        for i in range(loops):
            len(self.value_map)
            len(self.value_map[0])
            len(self.value_map[0][0])
            len(self.value_map[0][0][0])
        end = time.time()
        timed = (end - start)
        print("len={}".format(timed))

shape=102.26551818847656
len=87.99720764160156

len 比 shape 快

关于python - 什么更快 : Python 3's ' len' or numpys shape?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547853/

相关文章:

python - 如何以编程方式将新函数添加到 Python 中的当前作用域?

python - 如何在 Python 生成器中向前看一个元素(窥视)?

python - 将 SQLAlchemy 设置为使用 PostgreSQL SERIAL 来生成身份

非重复整数的Python总和

python - webhelpers 有一些严重错误

python - 如何使 0 数值显示零而不是空格?

c++ - 多线程建议

python - 尽管初始大小固定,但跟踪对象的 BoundingBox/ROI 的大小不断增加

python - 处理文件名中的文字空间

opencv - 如何在openCV中的图像上绘制不同的形状?