0

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

当我运行此脚本时,我收到错误消息:“列表索引必须是整数或切片,而不是浮点数”。

我怎样才能解决这个问题?

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)
4

1 回答 1

2

在 Python 3.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)
于 2016-03-09T12:13:08.863 回答