[PIPython] aiuto per un neofita di python

Paolo Mossino mox79
Ven 19 Nov 2004 15:16:45 CET


chiccoffee a tin.it wrote:

> Salve, ho cominciato ad usare python da un paio di settimane e purtroppo
> sono i miei primi approcci al mondo della programmazione. Vorrei chiedervi
> un consiglio:
> ho due file .txt, ognuno dei quali contiene un certo numero di righe contenenti
> delle informazioni. Una di queste informazioni è un codice di quattro lettere
> (o numeri). Come faccio a vedere quali di questi codici, che compaiono nel
> file1.txt, compaiono anche nel file2.txt? Grazie per la disponibilità e
> scusate se non sono stato molto chiaro

Per cercare l'intersezione di 2 elenchi, la soluzione "migliore" è leggere 
interamente il primo, memorizzarlo da qualche parte (dizionario) e poi per 
ogni elemento del secondo, controllare se è gia' presente un'entry nel 
dizionario.

<code>
f1 = open('file1', 'rb')
f2 = open('file2', 'rb')

d = {}

for line in f1:
     item = do_the_work_with_line(line)
     d[item] = None # un valore come un'altro

for line in f2:
     item = do_the_work_with_line(line)
     if d.has_key(item):
         print 'Elemento %s di %s presente in %s' % (item, file1, file2)
</code>

Ovviamente la funzione do_the_work_with_line() te la scrivi tu e dipende 
solo da come e' formattata la riga nel tuo file :)

-- 
  ,___,    ~ Paolo Mossino  (Alexander)         e-m a il: mox79 a gmx.it ~
  (0v0)    ~ Jabber ID : alexander a jabber.linux.it - ICQ #: 28473944 ~
  (_^((\   ~ "My crime is judging people by what they say and think, ~
  -"-"-\\  ~ not what they look like"          [Mentor's Last Words] ~



More information about the Python mailing list