Python - Set Set comprehensions


The set comprehension expression is similar in form to the list comprehension/

It is coded in curly braces instead of square brackets and runs to make a set instead of a list.

Set comprehensions run a loop and collect the result of an expression on each iteration.

A loop variable gives access to the current iteration value for use in the collection expression.

The result is a new set you create by running the code, with all the normal set behavior.


print( {x ** 2 for x in [1, 2, 3, 4]} )         # 3.X/2.7 set comprehension


Here, the loop is coded on the right, and the collection expression is coded on the left (x ** 2).

The expression is saying: return a new set containing X squared, for every X in a list.

Comprehensions can iterate across other kinds of objects, such as strings.


print( {x for x in 'test'} )                    # Same as: set('test') 
print( {c * 4 for c in 'test'} )                # Set of collected expression results 
print( {c * 4 for c in 'testham'} )
S = {c * 4 for c in 'test'}
print( S & {'mmmm', 'xxxx'} )


Related Topics