저는 현재 단어 색인을 만들고 텍스트 파일에서 각 행을 읽고 해당 단어가 해당 줄에 있는지 확인하려고합니다. 그렇다면 숫자 라인을 출력하고 점검을 계속합니다. 나는 각 단어와 줄 번호를 인쇄 할 때 어떻게하고 싶었는지 알기 위해 노력했지만, 각 번호를 포함하기 위해 사용할 수있는 저장 시스템을 모르겠습니다.단어 색인 만들기
코드 예제 :
def index(filename, wordList):
'string, list(string) ==> string & int, returns an index of words with the line number\
each word occurs in'
indexDict = {}
res = []
infile = open(filename, 'r')
count = 0
line = infile.readline()
while line != '':
count += 1
for word in wordList:
if word in line:
#indexDict[word] = [count]
print(word, count)
line = infile.readline()
#return indexDict
이 카운트 시간 (줄 번호)에 무엇이든 단어 및 인쇄,하지만 난 할 노력하고있어 나중에 것을 나는 할 수 있도록 번호를 저장할 수있다 그것 출력한다
word linenumber
word2 linenumber, linenumber
등등. 나는 각각의 키가 하나 개 이상의 값을 포함 할 수있는 목록 내에서 각 행 번호를 넣어 경우 사전이 작동 것이라고 생각하지만, 내가 가진 가장 가까운이 있었다 :
{'mortal': [30], 'dying': [9], 'ghastly': [82], 'ghost': [9], 'raven': [120], 'evil': [106], 'demon': [122]}
나는 그것이로 표시하고 싶어 :
{'mortal': [30], 'dying': [9], 'ghastly': [82], 'ghost': [9], 'raven': [44, 53, 55, 64, 78, 97, 104, 111, 118, 120], 'evil': [99, 106], 'demon': [122]}
어떤 아이디어가? 이 같은
아마도 새 키에 대해 기본값 [a]을 지정하고 추가하는 defaultdict가 필요합니다. 주석 처리 된 행은 물론 매번 1- 항목 목록으로 키를 다시 작성합니다. – geoffspear
답변 해 주신 모든 분들께 감사드립니다. 매우 감사하게 생각합니다. – iKyriaki