J'ai un trigramme comme
tup = (tag1,tag2,tag3)
Je voudrais extraire uniquement les balises de chaque mot du trigramme ci-dessus dans un tuple comme
trigrm = [((w1,tag1), (w2,tag2),(w3,tag3))]
p>
3 Réponses :
Vous pouvez essayer:
>>> trigrm = [(("w1","tag1"), ("w2","tag2"),("w3","tag3"))]
>>> output = ([x[1] for x in trigrm[0]])
>>> print output
['tag1', 'tag2', 'tag3']
>>> tuple(output)
('tag1', 'tag2', 'tag3')
ll = [x for _,x in sum(ll,())]
Vous pouvez utiliser zip . Voici un exemple utilisant des chaînes car je ne connais pas les valeurs des variables
trigrm = [(('w1','tag1'), ('w2','tag2'),('w3','tag3'))]
tuples = list(zip(*trigrm[0]))[1]
print (tuples)
# ('tag1', 'tag2', 'tag3')
@StefanS et si les données sont volumineuses? Je pense qu'OP a fourni des exemples de données.