【发布时间】:2016-06-23 19:22:17
【问题描述】:
我有一个列表 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)
【问题讨论】:
-
如果使用 Python 3,请使用
//强制整数除法。但是你也从b中减去0.5。你期望这会做什么?如果b是8,并从中减去0.5,则剩下7.5。您希望如何将其用作列表索引? -
列表索引必须是整数。您需要决定如何处理当前给出非整数索引的情况。
-
我的想法是,当长度为奇数时,我只从 b 中减去 0.5。这就是为什么我把它放在“其他”下。因此,如果 len 为 9,b 将为 9/2 - 0.5。但这没有用。但它似乎适用于 Cory 的脚本,所以一切都很好:)