How do I most efficienty check the unique elements in a list?

let's say I have a list

li = [{'q':'apple','code':'2B'},
      {'q':'orange','code':'2A'},
      {'q':'plum','code':'2A'}]

What is the most efficient way to return the count of unique "codes" in this list? In this case, the unique codes is 2, because only 2B and 2A are unique.

I could put everything in a list and compare, but is this really efficient?

Answers


Probably the most efficient simple way is to create a set of the codes, which will filter out uniques, then get the number of elements in that set:

count = len(set(d["code"] for d in li))

As always, I advise to not worry about this kind of efficiency unless you've measured your performance and seen that it's a problem. I usually think only about code clarity when writing this kind of code, and then come back and tighten it only if I've profiled and found that I need to make performance improvements.


Need Your Help

Storyboard not found in name scope of style

wpf xaml triggers styles storyboard

The problem I'm having is that if I base a style on a second style that contains a storyboard, then there is an exception in the Trigger.ExitAction.

Deploy Django Application along with Wordpress (at suburl)

python django wordpress mod-wsgi apache2.2

In my company we have a server with public IP and Wordpres installed on it. Wordpress url is like www.companyblog.org and works fine.