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.