Измените функцию init_wfst () и функцию complete_wfst () (python)

#python

#питон

Вопрос:

Измените функцию init_wfst () и функцию complete_wfst () для хранения нетерминальных наборов символов в каждой ячейке WFST вместо одной нетерминальной. Как это сделать с помощью этого кода: `

 def init_wfst(tokens, grammar):  numtokens = len(tokens)  wfst = [[None for i in range(numtokens   1)] for j in range(numtokens 1)]  for i in range(numtokens):  productions = grammar.productions(rhs=tokens[i])  wfst[i][i 1] = productions[0].lhs()  return wfst   def complete_wfst(wfst, tokens, grammar, trace=True):  index = dict((p.rhs(), p.lhs()) for p in grammar.productions())  numtokens = len(tokens)  for span in range(2, numtokens   1):  for start in range(numtokens   1 - span):  end = start   span  for mid in range(start   1, end):  nt1, nt2 = wfst[start][mid], wfst[mid][end]  if nt1 and nt2 and (nt1, nt2) in index:  wfst[start][end] = index[(nt1, nt2)]  if trace:  print("[%s] %3s [%s] %3s [%s] ==gt; [%s] %3s [%s]" %  (start, nt1, mid, nt2, end, start, index[(nt1, nt2)], end))  return wfst   def display(wfst, tokens):  print('nWFST '   ' '.join(("%-4d" % i) for i in range(1, len(wfst))))  for i in range(len(wfst) - 1):  print("%d " % i, end=" ")  for j in range(1, len(wfst)):  print("%-4s" % (wfst[i][j] or '.'), end=" ")  print()   tokens = "I shot an elephant in my pajamas".split() wfst0 = init_wfst(tokens, groucho_grammar) display(wfst0, tokens)  wfst1 = complete_wfst(wfst0, tokens, groucho_grammar) display(wfst1, tokens)  

`