List enumerations provide a concise way to create lists. general applications should create new lists in which each element is the result of certain operations applied to each member of a different sequence or iteration or creation of a subsequence of those elements that satisfy a certain state condition.
>>> squares = [] >>> for x in range(10): ... squares.append(x**2) ... >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Note that this creates (or overwrites) a variable named x that still exists after the loop finishes. We can calculate the list of squares without any side effects using:
squares = list(map(lambda x: x**2, range(10)))
or, equivalently:
squares = [x**2 for x in range(10)]
than just setting a condition in if status like this
>>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
you have a list of elements that match this condition and you can use len(lsit_) to count the elements
List comprehension document