What is the most efficient way to compare similar contents in two lists?

Chris Angelico rosuav at gmail.com
Mon Jun 13 11:09:07 EDT 2011


On Tue, Jun 14, 2011 at 12:58 AM, Zachary Dziura <zcdziura at gmail.com> wrote:
> if set(source_headers) == set(target_headers):
>    similar_headers = len(source_headers)

Since you're making sets already, I'd recommend using set operations -
same_headers is the (length of the) intersection of those two sets,
and different_headers is the XOR.

# If you need the lists afterwards, use different variable names
source_headers = set(source_headers)
target_headers = set(target_headers)
similar_headers = len(source_headers & target_headers)
different_headers = len(source_headers ^ target_headers)

Chris Angelico



More information about the Python-list mailing list