前回の質問
要素数nのヒープの深さと各深さにおける要素数を求める方法について
でいただいたコメントを参考に以下のプログラムを書き、実行しましたがエラーが出ています。

エラー

$ python sample.py
depth_list
[0, 1, 2, 3]
element
[1, 2, 4, 1]
Traceback (most recent call last):
  File "sample.py", line 23, in <module>
    total += depth[j]*element[j]
TypeError: 'int' object is not subscriptable

どのように修正すれば良いでしょうか。

実行プログラム

import heapq
import math
a = [6, 3, 2, 4, 5, 7, 1, 8]
heapq.heapify(a)

num = int(math.log2(len(a)))

depth_list = []
for i in range(num+1):
    depth_list.append(i)

print('depth_list')
print(depth_list)


depth = int(math.log2(len(a)))
element= [2**x for x in range(depth)] + [len(a) - (2**depth - 1)]
print('element')
print(element)

total = 0
for j in range (len(depth_list)):
    total += depth[j]*element[j]
    # 0*1 + 1*2 + 2*4 + 3*1

print('tolal')
print(total)