Hello, Thanks for the replies. On Thu, Jul 29, 2010 at 7:10 PM, Gregory, Matthew <matt.greg...@oregonstate.edu> wrote: > Norman Khine wrote: >> basically i have two tables: >> >> id, url >> 24715L, 'http://aqoon.local/muesli/2-muesli-tropical-500g.html' >> 24719L, 'http://aqoon.local/muesli/2-muesli-tropical-500g.html' >> >> id, tid, >> 1, 24715L >> 2, 24719L >> >> so i want to first update t(2)'s tid to t(1)'s id for each duplicate >> and then delete the row id = 24719L > > Assuming your first table is 'd' and your second table is 't', could you do > this? > > for url in sorted(d): > # Get the ID of the first element for updating t's records > update_id = d[url][0] > > # For all duplicate URLs, remove the dict item from d and > # update t's records > while len(d[url]) > 1: > pop_id = d[url].pop() > for (k, v) in t.iteritems(): > if v == pop_id: > t[k] = update_id > > There may be a more terse way of updating the values in t that I'm not seeing > right now.
Here is the latest version http://pastie.org/1066582 can this be further improved? > > matt > _______________________________________________ > Tutor maillist - tu...@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > -- ˙uʍop ǝpısdn p,uɹnʇ pןɹoʍ ǝɥʇ ǝǝs noʎ 'ʇuǝɯɐן sǝɯıʇ ǝɥʇ puɐ 'ʇuǝʇuoɔ ǝq s,ʇǝן ʇǝʎ %>>> "".join( [ {'*':'@','^':'.'}.get(c,None) or chr(97+(ord(c)-83)%26) for c in ",adym,*)&uzq^zqf" ] ) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor