Forum
>>
Principianti
>>
Creazione Lista unica
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da milkyway |
2016-02-02 12:28:20 - Creazione Lista unica
|
Buongiorno, vorrei sapere come da una serie di liste in colonna, possa crearne una unica:
Il file di testo ha questa struttura: 1 L' l' DET DET n=s| 2 humeur humeur NC NC n=s|g=f| 3 est être V V n=s|t=P|p=3| 4 à à P P _ Script: with open("file.txt") as corpus: for line in corpus: uLine = unicode(line.strip(),"utf8") splitted_line = uLine.split("\t") if line.strip(): #se la riga non è vuota if len(splitted_line)<6: splitted_line.append("_") tid,forma,lemma,pos,dpos,cpos= splitted_line print forma Parte dell'output: [u'qui'] [u'vont'] [u'te'] [u'rendre'] [u'heureux'] [u'.'] [u'Et'] [u'quand'] [u'tu'] [u'es'] [u'heureux'] [u','] Vorrei avere list = [ qui, vont, te, rendre, ecc] Grazie mille per l'aiuto!!! --- Ultima modifica di milkyway in data 2016-02-02 12:29:56 --- |
|
Scritto da Daniele aka Palmux |
2016-02-02 15:09:30 - Re: Creazione Lista unica
|
Ciao anche a te, non ti basta fare un semplicissimo "+" sulle varie liste?
Cya |
|
Scritto da milkyway |
2016-02-02 15:25:39 - Re: Creazione Lista unica
|
Devo però fare un ciclo for per iterare tutte le liste?
|
|
Scritto da Daniele aka Palmux |
2016-02-02 16:45:17 - Re: Creazione Lista unica
|
Vedi che la risposta è dentro di te?
Vai che ci sei.. |
|
Scritto da milkyway |
2016-02-03 13:51:27 - Re: Creazione Lista unica
|
Quindi tipo
for l in lista: e dopo? Grazie |
|
Scritto da Orsogrizzly |
2016-02-04 21:32:15 - Re: Creazione Lista unica
|
Prova a pensare che metodi hanno gli oggetti liste??
magari lo hai già utilizzato pocanzi : splitted_line.append("_") e magari utilizzarlo all'interno del ciclo for che hai appena menzionato. |
|
Scritto da Daniele aka Palmux |
2016-02-04 22:35:59 - Re: Creazione Lista unica
|
Hai già tutti gli elementi per effettuare il "merge".
Supponiamo che come oggetto di partenza hai una lista con altre liste al suo interno: forma = [[u'qui'], [u'vont'], [u'te'], [u'rendre'], [u'heureux'], [u'.'], [u'Et'], [u'quand'], [u'tu'], [u'es'], [u'heureux'], [u',']]Partendo da questo puoi fare in molti modi, il più semplice, come ti ho suggerito, è semplicemente sommare le liste: >>> lista_unica = [] >>> for x in forma: .... lista_unica += x >>> print lista_unica [u'qui', u'vont', u'te', u'rendre', u'heureux', u'.', u'Et', u'quand', u'tu', u'es', u'heureux', u',']Lo stesso risultato lo ottieni con chain di itertools: Return a chain object whose .next() method returns elements from the first iterable until it is exhausted, then elements from the next iterable, until all of the iterables are exhausted. >>> from itertools import chain >>> forma = list(chain(*forma)) >>> print forma [u'qui', u'vont', u'te', u'rendre', u'heureux', u'.', u'Et', u'quand', u'tu', u'es', u'heureux', u',']Ma questi sono solo due esempi, lo puoi fare davvero in tanti modi diversi. Cya P.S. L'esempio è con Python 2.7 visto che non dai indicazioni. |
Pagina: 1
Esegui il login per scrivere una risposta.