У меня есть два списка: 1. Список символов IPA - M 2. Список отдельных слов - N
Теперь мне нужно создать третий список X = [N, M], где для каждого символа IPA найденный в одном слове, я должен присвоить 1 новому списку и 0. Например, если M = ['ɓ', 'u', 'l', 'i', 'r', 't', 'ə' , 'w', 'a', 'b'] и для простоты N имеет только два слова = ['ɓuli', 'rutə'], тогда результат должен выглядеть как X = [[1,1,1,1, 0,0,0,0,0,0], [0,1,0,0,1,1,1,0,0,0]]
Так что это своего рода матрица ко-вхождения, но проще - потому что мне не нужно держать счетчик того, сколько раз символ встречается в слове. Мне просто нужно присвоить 1 X, когда символ встречается в слове в правильном положении. Может быть, я обдумываю это, но я не могу найти способ держать индекс обоих списков. Вот мой фрагмент кода:
M = ['ɓ', 'u', 'l', 'i', 'r', 't', 'ə', 'w', 'a', 'b']
N = ['ɓuli', 'rutə']
X = np.zeros((len(N), len(M)))
for n_idx in range(len(N)):
print('Current word index', n_idx)
for symbol in N[n_idx]:
if symbol in M:
print(symbol, 'found, at word index', n_idx, ', and symbol index')
# if found then ad to X at proper position
#Expected result
X = [[1,1,1,1,0,0,0,0,0,0],
[0,1,0,0,1,1,1,0,0,0]]