我有一个sortedInfected列表,它由整数和未知长度组成。
当我运行这个脚本时,我得到错误:" list indices必须是整数或切片,而不是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)
答案 0 :(得分: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)