0
"명백한"실수를 찾아내는 데 두 번째 눈 쌍이 필요한 코드 조각 중 하나입니다. 나는리스트의리스트를 처리하고 있는데, 어떤 이유에서,리스트 인덱스가 범위를 벗어났다. 나는 잠시 동안 화면을 보면서 그것을 발견 할 수 없다.간단한 목록 처리 기능의 IndexError - 무엇이 누락 되었습니까?
이>>> b = group_ldata(a,2)
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
[]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 11, in group_ldata
IndexError: list index out of range
사람이 무엇을 발견 할 수 : 여기
>>> a =[]
>>> a.append(range(0,5))
>>> a.append(range(5,10))
>>> a.append(range(10,15))
>>> a.append(range(15,20))
>>> a.append(range(20,25))
>>> a.append(range(25,30))
>>> a.append(range(30,35))
내가 그것을 실행하면 결과입니다 : 여기
def group_ldata(data, freq, normal_grouping = True):
if freq > 1 and len(data) > (SOME_SANITY_FACTOR*freq):
i, output, subset, lastpos = (0, [],[], len(data)-freq)
if not normal_grouping:
for i in range(lastpos):
pass
else:
while True:
subset = data[i:freq]
#print subset
firstrow = subset[0]
lastrow = subset[-1]
output.append((firstrow[0], firstrow[1], lastrow[2]))
i += freq
if i >= lastpos:
break
return output
else:
return data
부팅에 일부 샘플 데이터입니다 : 여기
은 조각이다 오류가 발생 했습니까?
빙고! 나는 그것이 어리석은 무엇인가 일 것이다라는 것을 알고 있었다 - 꽤 발견했다!. 상한은 i + freq 여야합니다. –