Chad Kellerman wrote: > Python users, > I am parsing an AIX trace file and creating a dictionary containing > keys (PIDS) and values (a list of TIDS). With PIDS being unique process > ids > and TIDS, being a list of thread ids. My function populates the keys so > that they are unique, but my list contains duplicates. > > Can someone point me in the right direction so that my dictionary > value > does not contain duplicate elements? > > > here is what I got. > > --------------<portion of code that is relevant>------------------ > > pidtids = {} > > # --- function to add pid and tid to a dictionary > def addpidtids(pid,tid): > pidtids.setdefault(pid,[]).append(tid)
Use a set instead of a list (and maybe a defaultdict): from collections import defaultdict pidtids = defaultdict(set) def addpidtids(pid, tid): pidtids[pid].add(tid) Peter -- http://mail.python.org/mailman/listinfo/python-list