列表索引必须是整数或切片,而不是浮点数

list indices must be integers or slices, not float

我有一个列表,sortedInfected,它由整数组成,长度未知。

当我 运行 这个脚本时,我收到错误:"list indices must be integers or slices, not float"。

我该如何解决这个问题?

medianList =[]
b = (len(sortedInfected) / 2)

if len(sortedInfected) % 2 == 0:

    median = (sortedInfected[b] + sortedInfected[b-1]) // 2
    medianList.append(median)
else:

    median = sortedInfected[b - 0.5]
    medianList.append(median)

在Python3.x中,/运算符执行浮点除法。如果你想要 int 除法使用 //

b = len(sortedInfected) // 2

因此您可以将代码更改为

medianList =[]
b = (len(sortedInfected) // 2)

if len(sortedInfected) % 2 == 0:    
    median = (sortedInfected[b] + sortedInfected[b-1]) // 2
    medianList.append(median)
else:    
    median = sortedInfected[b]
    medianList.append(median)