https://llego.dev/posts/practical-guide-to-iterating-data-structures-applying-conditionals-python/