Python プログラミング メモ

条件付きリスト内包表記パターン(Python)

リストに、あるデータを格納した後に色々を処理をして期待する結果を得る。

このような実装は非常によく使う為、内包表記で書くと、とても楽です。

また、データの量が大きくなると append でリストに放り込む必要がなくなる為、処理速度向上にも貢献してくれます。

 

no image
Python リスト内包表記のすゝめ

Pythonでデータを処理する場合、リストに格納して処理していくってパターンはスゴく多いと思います。 基本的なリストの格納方法は以下のようなものがあります。 # 1 ~ 20 の数字で偶数のみリストに ...

続きを見る

 

今回はリスト内包表記の応用として、条件付きリスト内包表記のパターンを実装してみました。

例として 1 ~ 10 までの値で奇数であれば odd を 偶数であれば even をリストに格納していくというものです。

 

"""
 1 ~ 10 までの数値で奇数であれば odd 偶数であれば even を
 リストに格納する
"""
# 空のリストを作成して、for loopで回した後に格納するパターン
l = []
for i in range(1, 11):
    if i % 2 == 0:
        l.append("even")
    else:
        l.append("odd")
print(*l)
# 出力結果 even odd even odd even odd even odd even odd

# リスト内包表記で書くパターン
l = ["even" if i % 2 == 0 else "odd" for i in range(1, 11)]
print(*l)
# 出力結果 even odd even odd even odd even odd even odd

 

どちらのパターンでも出力結果が同じである事が確認できました。

空のリストを準備して、for loop で回してリストに格納していく実装でも、データ量が少なければ全く問題ないのですが、6行書く必要があるところを1行で処理できるので便利です。

 

-Python, プログラミング, メモ

Copyright© donguri.pyのblog , 2024 All Rights Reserved.