Конкатенация помеченного массива массивов - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу получить массив, который объединит твиты пользователя вместе с его ярлыком примерно так

train = [
(['hurt','pain','shock'],'depressed'),
(['cut','harm','anxious'],'depressed'),
(['hurt','tears','stab'],'depressed'),
(['joy','smile','neutral'],'not'),
(['relax','enjoy','laugh'],'not'),
]

и я попытался сделать это, расширив их до массива, в котором все твиты содержат все твиты, которые есть у пользователя, а чистые твики - это твиты после обработки, которые будут использоваться для обучения.

    while i < len(alltweets) or len(alltweets) < 0:
        try:
            if (not alltweets[i].retweeted) and ('RT @' not in alltweets[i].text) and ('\ufe0f' not in alltweets[i].text):
                print("cleaning depressed:"+ p.clean(alltweets[i].text))
                cleantweets.append(p.clean(alltweets[i].text))

            i+=1
        except UnicodeEncodeError:
            i+=1
            pass
    print (cleantweets)
    train.extend((cleantweets,'depressed'))
    print ("TRAINING")
    print (train)
    x+=1

Но, к сожалению, это дает нечто подобное, когда твиты и их не разделяются пользователем, а просто вставляются в массив.

     train = [['dfasdf','asdfasdf','asdfasdf'],'depressed',['asdf','asdfasdf','adsfad,'],'depressed'

]             

Я пробовал перебор, вручную добавляя '(' и ')', но он не работает.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы просто хотите добавить, а не расширять:

x = []
x.append((['a', 'b'], 'depressed'))
print(x)
[(['a', 'b'], 'depressed')]

Расширение добавляет каждый элемент в итерируемо в коллекцию. Добавить добавляет все, что вы указываете в коллекцию.

Поскольку ваш кортеж был итеративным, он добавил свои значения в список вместо добавления самого кортежа в список.

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