0

整数で構成され、長さが不明なリスト sortedInfected があります。

このスクリプトを実行すると、「リスト インデックスは 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)
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 に答える