切片索引必须为整数、无或具有__index__方法
问题描述
我正在尝试使用Python进行一些操作。我想将一个列表(平稳)分成几个列表(L[i]),但我有以下错误消息:
File "C:UsersadescampSkycraperskycraper.py", line 20, in <module>
item = plateau[debut:fin]
TypeError: slice indices must be integers or None or have an __index__ method
相关行item = plateau[debut:fin]
from math import sqrt
plateau = [2, 3, 1, 4, 1, 4, 2, 3, 4, 1, 3, 2, 3, 2, 4, 1]
taille = sqrt(len(plateau))
# Division en lignes
L = []
i = 1
while i < taille:
fin = i * taille
debut = fin - taille
item = plateau[debut:fin]
L.append(item)
i += 1
解决方案
您的debut
和fin
值是浮点值,而不是整数,因为taille
是浮点数。
将这些值改为整数:
item = plateau[int(debut):int(fin)]
或者,使taille
为整数:
taille = int(sqrt(len(plateau)))
相关文章