Skip to content

Instantly share code, notes, and snippets.

@eggplants
Last active December 9, 2024 18:08
Show Gist options
  • Save eggplants/3b81f0be71b5ada7a4bf56e56051d357 to your computer and use it in GitHub Desktop.
Save eggplants/3b81f0be71b5ada7a4bf56e56051d357 to your computer and use it in GitHub Desktop.
<`set#union` * N> vs <`list#extend` * N and `set()` at once>

<set#union * N> vs <list#extend * N and set() at once>

# Python 3.13.0
$ python -c 'from datetime import datetime
prev = datetime.now()
a = set()
for i in range(n := 5000):
    r = range(i * n, (i + 1) * n)
    a |= set(j for j in r)
print(datetime.now() - prev)'
0:00:06.652021
$ python -c 'from datetime import datetime
prev = datetime.now()
a = []
for i in range(n := 5000):
    r = range(i * n, (i + 1) * n)
    a.extend(j for j in r)
set(a)
print(datetime.now() - prev)'
0:00:06.426100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment