2
votes

Trigrammes Python à tuple

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>


1 commentaires

@StefanS et si les données sont volumineuses? Je pense qu'OP a fourni des exemples de données.


3 Réponses :


1
votes

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')


0 commentaires

2
votes
ll = [x for _,x in sum(ll,())]

0 commentaires

1
votes

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')


0 commentaires