[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