скажем, у меня есть список
li = [{'q':'apple','code':'2B'},
{'q':'orange','code':'2A'},
{'q':'plum','code':'2A'}]
Что самый эффективный путь состоит в том, чтобы возвратить количество уникальных "кодов" в этом списке? В этом случае, уникальные коды 2, потому что только 2B и 2 А уникальны.
Я мог поместить все в список и выдержать сравнение, но это действительно эффективно?
Вероятно, самый эффективный простой способ - создать набор кодов, которые будут отфильтровывать уникальных посетителей, а затем получить количество элементов в этом наборе:
count = len(set(d["code"] for d in li))
Как всегда, я советую не беспокоиться о такой эффективности, если вы не измерили свою производительность и не увидели, что это проблема. Я обычно думаю только о ясности кода при написании такого кода, а затем возвращаюсь и ужесточаю его, только если я профилировал и обнаружил, что мне нужно для улучшения производительности.