def get_word_count(wordlist, final):
regex = []
count = [[] for x in xrange(len(wordlist))]
frequency = []
regex = makeregex(wordlist)
for i in range(len(final)-1):
size = os.stat(final[i]).st_size
fil = open(final[i])
if(fil):
print final[i] + " read!"
data = mmap.mmap(fil.fileno(), size, access=mmap.ACCESS_READ)
for j in range (len(wordlist)):
count[j].append(re.findall(regex[j], data))
fil.close()
for k in range(len(wordlist)):
frequency.append(sum(count[k]))
print frequency
count
은 목록의 목록이며 모든 목록에는 일부 숫자가 저장되어 있습니다.지원되지 않는 피연산자 유형 오류 (파이썬에서 지원되지 않음)
Traceback (most recent call last):
File "C:\Users\Animesh\Desktop\_zipf.py", line 52, in <module>
get_word_count(wordlist, final)
File "C:\Users\Animesh\Desktop\_zipf.py", line 32, in get_word_count
frequency.append(sum(count[k]))
TypeError: unsupported operand type(s) for +: 'int' and 'list'
내가 내 코드에서 무엇을 변경해야합니다 : 나는 오류가 나는 코드를 실행하면 새 목록 frequency
에 요소로 모든 목록의 합을 저장하고자? 당신은 배열 count[j]
에 정규식에 의해 발견 단어의 목록을 추가하는
위의 코드 또는'makeregex'에서 오류가 발생합니까? 'final [i]'가 문자열이 아니지만 아직까지 도달하지 않은 것처럼 보일 경우'print [i] + "read!"에서 코드가 실패 할 수 있습니다. –
'sum '이 호출되기 전에'count [k]'의 값을 출력 할 수 있습니까? 당신의'count [k]'는'[[], 2]'와 같은 것을 가지고 있습니다. 합쳐보기를 시도하면 에러 메시지가 나옵니다. –