TypeError: slice indices must be integers or None or have an __index__ method【解决办法】

今天爱分享给大家带来TypeError: slice indices must be integers or None or have an __index__ method【解决办法】,希望能够帮助到大家。

Python:Python3错误提示TypeError: slice indices must be integers or None or have an __index__ method解决办法
在执行Python 3脚本时,报错:TypeError: slice indices must be integers or None or have an __index__ method,报错位置:

    # Now add left and right halves of images in each level
    ls_image = []
    for la, lb in zip(lp_image1, lp_image2):
        rows, cols, dpt = la.shape
        ls = np.hstack((la[:, 0:cols / 2], lb[:, cols / 2:]))
        ls_image.append(ls)

出错代码行为:

ls = np.hstack((la[:, 0:cols / 2], lb[:, cols / 2:]))

问题原因:

In Python 3.x, 5 / 2 will return 2.5 and 5 // 2 will return 2. The former is floating point division, and the latter is floor division, sometimes also called integer division.

In Python 2.2 or later in the 2.x line, there is no difference for integers unless you perform a from __future__ import division, which causes Python 2.x to adopt the 3.x behavior.

Regardless of the future import, 5.0 // 2 will return 2.0 since that’s the floor division result of the operation.

解决方案:

将出错代码行改为:

ls = np.hstack((la[:, 0:cols // 2], lb[:, cols // 2:]))

人已赞赏
Python

Python 字典的items()方法和iteritems()方法有什么不同?【面试题详解】

2020-11-13 13:56:20

Python

什么是集成学习(Ensemble Learning)【机器学习】

2020-11-14 22:24:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();