Я новичок в Python.Я кодирую цикл, двойной цикл в Python.но было два разных результата, когда я писал для цикла и вводил один за другим.Я не знаю, как мне назвать эту проблему.поэтому я не смог найти правильный вопрос здесь.не могли бы вы проверить мой код?
мой код ниже
import spacy
import pandas as pd
train = pd.read_csv('file', delimiter='\t')
s =train['A'] # s = sentences splited by spacy.sentencizer
a =[]
for x in range(len(s))):
newlist = []
for y in range(len(s[x])):
newlist.append(len(s[x][y].text))
a.append(newlist)
d=[]
newlist2=[]
for f in range(len(a)):
for g in range(len(a[f])):
if sum(a[f][0:g+1]) >= 50:
newlist2.append(g) # I need only min value if more 1 result
d.append(min(news))
Итак, я получил такой результат:
d[:12]
>>>[2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0] #(after then, **all result is 0**)
но, что мне нужно, это как показано ниже:
d[:12]
>>>[2, 2, 1, 2, 3, 1, 0, 2, 1, 3, 0, 1] #(this is example, not real result)
моя проблема в том, что когда h> 10, каждый результат равен 0 .
, но когда я ввожу len(a[13]) in 'for g in range(len(a[f]))'
, результат правильный, я хочу,вместо использования for loop (for f in range(len(a)))
Интересно, что в моем коде есть какая-то алгоритмическая проблема, особенно при использовании double for loop.