リスト等のコンテナデータの計算を簡潔に記述できる Python 特有の機能を紹介します。 特にリストに対する内包表記である、リスト内包表記が有名です。
リスト内包表記

あるコンテナから、別のリストを簡単に生成することができる。
記述法
・記述法
[expression for var in iterable]
iterable には、リストや文字列、range などのコンテナデータが入ります(通常の for 文で使えるものが使えます)。 var は普通の変数で、 expression には式を書きます。 Python はまず for を展開し、変数 var に iterable の各要素を代入しながら、expression を計算します。
・フィルター
[expression for var in iterable if condition]
のようにif に条件式を続けて書くことで、その条件を満たす値だけを for は列挙します。
#偶数の平方数だけからなるリストを生成します。
even_lst = [v for v in range(10) if v % 2 == 0]
print(even_lst)
#[0, 2, 4, 6, 8]
例
squares = []
for v in range(10):
squares.append(v ** 2)
print(squares)
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
#リスト内包表記
squares = [v ** 2 for v in range(10)]
print(squares)
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
集合内包表記

[] で括って書くリスト内包表記はリストを生成する。 同様に、別の括弧で括ることで、別なコンテナデータを生成することができる
{x for x in range(30) if x % 2 == 0}
# {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28}
1 2