<html><head></head><body bgcolor="#FFFFFF"><div>If I understand this right, the problem you want to solve is that there is no obvious way to uniquify lists that's order preserving and efficient, so you want a good implementation to be added as an attribute of the list type. Right?</div><div><br></div><div>As others have pointed out, your implementation only works for lists with hashable elements, so no lists of lists, for example.</div><div><br></div><div>Also, making it an attribute of list means you can't use it on, say, a tuple, or a dict key iterator, or a file. Why restrict it like that? I'd much rather have an itertools.uniquify(seq) than a list method. (If I'm just misreading your use of the word "attribute", I apologize.)</div><div><br></div><div>And, once it's a separate function rather than a member of list, why do you want it to return a list rather than a generator?</div><div><br></div><div>All that being said, if getting this right is difficult enough that a bunch of people working together on a blog over 6 years didn't come up with a good version that supports non-hashable elements, maybe a good implementation<span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "> does belong in the standard library itertools.</span></div><div><br>Sent from my iPhone</div><div><br>On Nov 16, 2012, at 4:28, Robrecht De Rouck <<a href="mailto:de.rouck.robrecht@gmail.com">de.rouck.robrecht@gmail.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>Hello,<div><br></div><div>I just wanted to bring to your attention that an <b>attribute for removing duplicate elements</b> for lists would be a nice feature. </div><div><br></div><i>def uniquify(lis):<br>    seen = set()<br>
    seen_add = seen.add<br>    return [ x for x in lis if x not in seen and not seen_add(x)]</i><div><i><br></i></div><div>The code is from <a href="http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order">this post</a>. Also check out <a href="http://www.peterbe.com/plog/uniqifiers-benchmark">this performance comparison</a> of uniquifying snippets.</div>
<div>It would be useful to have a uniquify attribute for containers in general. </div><div><br></div><div>Best regards, Robrecht</div><div><i><br></i></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Python-ideas mailing list</span><br><span><a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a></span><br><span><a href="http://mail.python.org/mailman/listinfo/python-ideas">http://mail.python.org/mailman/listinfo/python-ideas</a></span><br></div></blockquote></body></html>