Хотя в ваших двух списках есть два цикла for
, эти два цикла повторяют одни и те же вещи - строки в файле (сначала как строки, а затем как списки).Таким образом, вы просто перебираете строки и проверяете, находится ли эта строка, указывающая нейтрум, в строке , а не в слове в строке.
Вместо этого используйте дваfor
циклов в вашем понимании списка, чтобы имитировать ваши вложенные циклы:
lines = [line.split(b' ') for line in fhand] # all the lines, not a single line
neutrum = [word for line in lines # <-- this loop was missing
for word in line
if b'/NN|NEU' in word]
Или, возможно, немного чище, в понимании одного списка (также может быть в одной строке, если вы предпочитаете):
neutrum = [word for line in fhand
for word in line.split(b' ')
if b'/NN|NEU' in word]