There are several ways to create a new list based on the elements of some other collection, but the use of a list comprehension has multiple benefits. First, it is both concise and readable, and second, it yields a fully-formed object without requiring a mutable object as input that must be updated multiple times in the course of the list creation. == Noncompliant Code Example ---- squares = [] for x in range(10): squares.append(x**2) # Noncompliant squares = map(lambda x: x**2, range(10)) #Noncompliant ---- == Compliant Solution ---- squares = [x**2 for x in range(10)] ----