Различные результаты между использованием двойного цикла и вводом один за другим - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...