Sets Vs Lists Python Programmer Tips

Sets are only useful when trying to ensure unique items are preserved. Before sets where available, it was common to process items and check if they exist in a list (or dictionary) before adding them.

sets vs lists in python

List example

Here unique is empty list. Every time I compare with this list, and if it is not duplicate then the input item will append to unique list.

>>> unique = []
>>> for name in ['srini', 'srini', 'rao', 'srini']:
... if name not in unique:
... unique.append(name)
...
>>> unique
['srini', 'rao']

There is no need to do this when using sets. Instead of appending you add to a set:

Set example

>>> for name in ['srini', 'srini', 'rao', 'srini']:
... unique.add(name)
...
>>> unique
{'srini', 'rao'}

Just like tuples and lists, interacting with sets have some differences on how to access their items. You can’t index them like lists and tuples, but you can iterate over them without issues.

The only reason I use sets is to ensure there aren’t any duplicates. If that is not needed, a list is preferable.

Related Posts

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store