Python 串联带标签的数组

Python 串联带标签的数组,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我希望能够实现一个数组,将用户的tweet与他们的标签连接在一起,就像这样 train = [ (['hurt','pain','shock'],'depressed'), (['cut','harm','anxious'],'depressed'), (['hurt','tears','stab'],'depressed'), (['joy','smile','neutral'],'not'), (['relax','enjoy','laugh'],'not'), ] 我尝试将它们扩展到数组

我希望能够实现一个数组,将用户的tweet与他们的标签连接在一起,就像这样

train = [
(['hurt','pain','shock'],'depressed'),
(['cut','harm','anxious'],'depressed'),
(['hurt','tears','stab'],'depressed'),
(['joy','smile','neutral'],'not'),
(['relax','enjoy','laugh'],'not'),
]
我尝试将它们扩展到数组中,其中alltweets包含用户拥有的所有tweet,cleantweets是处理后的tweet,将用于培训

    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

我尝试过通过手动附加“(”和“)”来强制执行,但它不起作用。

您只想附加,而不是扩展:

x = []
x.append((['a', 'b'], 'depressed'))
print(x)
[(['a', 'b'], 'depressed')]
Extend将iterable中的每个项添加到集合中。Append将您指定的内容添加到集合中


因为您的元组是可编辑的,所以它将其值添加到列表中,而不是将元组本身添加到列表中。

您只想追加,而不是扩展:

x = []
x.append((['a', 'b'], 'depressed'))
print(x)
[(['a', 'b'], 'depressed')]
Extend将iterable中的每个项添加到集合中。Append将您指定的内容添加到集合中


因为您的元组是可编辑的,所以它将其值添加到列表中,而不是将元组本身添加到列表中。

所有tweets的内容是什么?您可能会更清楚地了解您的输入是什么,以及您想要的输出是什么。想象一下,如果我问“我想要一个返回类似于8的函数,但它却返回22。”这并没有给出关于我实际希望函数做什么的提示。目前,我们必须阅读您的代码,试图猜测您正在尝试做什么。所有tweet的内容是什么?您可能会更清楚地了解您的输入是什么,以及您想要的输出是什么。想象一下,如果我问“我想要一个返回类似于8的函数,但它却返回22。”这并没有给出关于我实际希望函数做什么的提示。就目前的情况而言,我们必须阅读您的代码,试图猜测您正在尝试做什么。