Python索引超出2D列表中的范围
我对Python中的多维列表有异议。上述代码打印: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
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