Python索引超出2D列表中的范围

Python索引超出2D列表中的范围,python,list,indexing,range,Python,List,Indexing,Range,我对Python中的多维列表有异议。上述代码打印: target_adds = [] tgt_start = 0 tgt_end = 0 for i in range(len(targets)): start = targets[i][0] length = targets[i][1] start_pkt = math.ceil(start / 512.0) len_off = (length * 2) - 4 samples_left = 512 - (star

我对Python中的多维列表有异议。上述代码打印:

target_adds = []
tgt_start = 0
tgt_end = 0

for i in range(len(targets)):   

  start = targets[i][0]
  length = targets[i][1]
  start_pkt = math.ceil(start / 512.0)
  len_off = (length * 2) - 4

  samples_left = 512 - (start - (start // 512) * 512)
  len_minus_samples_left = length - samples_left
  len_pkt  = ((len_minus_samples_left / 512) + 1)

  tgt_start = (start * 2)  + (start_pkt * data_start)
  tgt_end = tgt_start + len_off + (len_pkt * data_start)


  target_adds.append([i, tgt_start, tgt_end])

for i in range(len(target_adds)): 
  print "i = %d, SPN: %2d - Target: %d   Start: 0x%04x   End: 0x%04x" % (i, spn, target_adds[i][0], target_adds[i][1], target_adds[i][2])

#tgt_start = target_adds[0][1]
但如果取消最后一行的注释,则会出现索引错误:

i = 0, SPN:  3 - Target: 0   Start: 0x0220   End: 0x02e4
i = 1, SPN:  3 - Target: 1   Start: 0x03b0   End: 0x05cc

有人能帮我理解为什么吗?我对列表和上面的2行进行了索引,没有得到错误。我遗漏了什么?

你确定目标不是空名单吗?@ozgurv是的,我确定。如果我在target_adds=[]语句上方添加打印目标,则它打印[[200,100],[400,200]]无法使用spn=3进行复制;数据_start=144;目标=[[200100],[400200]]。target_补充说[0][1]是544.0。你显然在做一些你没有告诉我们的事情。根据您共享的代码,您不可能得到该错误。
Traceback (most recent call last):
File "./run_fpga_test.py", line 259, in <module>
y = data_check(targets, rsg_stims[cmd_idx-1].length, TGT_VAL0, rfp_st.spn)
File "/home/tcg/utils/kh/util_datacap.py", line 155, in data_check
tgt_start = target_adds[0][1]
IndexError: list index out of range