Python基礎~三項演算子とリスト内包~

はじめに

こんにちは。風助です。

今回は三項演算子とリスト内包の組み合わせについて書いていきます。

メリットは?

まずは三項演算子とリスト内包の組み合わせのメリットについて書いていきます。

そもそも三項演算子、リスト内包って何?と思う方はこちらを。

この2つを組み合わせるメリットは1つ。コードを短縮できることです。
実際にコードを見ながら解説していきます。

書き方

ではコードから見ていきましょう。

List1 = []
for num in range(10):
    if num % 2 == 1:
        List1.append('奇数')
    else:
        List1.append('偶数')

List2 = ['奇数' if num % 2 == 1 else '偶数' for num in range(10)]

print(List1)
print('-----')
print(List2)

こんなコードを書きました。ちなみに出力結果は以下の通り。

['偶数', '奇数', '偶数', '奇数', '偶数', '奇数', '偶数', '奇数', '偶数', '奇数']
-----
['偶数', '奇数', '偶数', '奇数', '偶数', '奇数', '偶数', '奇数', '偶数', '奇数']

この時、List1とList2は同じリストを作成しています。
やっていることが同じなので当然ですが。
裏を返せば同じことをやってもここまで行数を節約できるということです。

書き方は単純。三項演算子を大かっこで囲えばいいだけです。
リスト内包を書くときの「式」の部分に三項演算子を置き、その後のfor節で評価される式を書きます。

言ってしまえばそれだけなのであまり書くこともありません。

あまり書くことがなくとも、便利なことは変わりません。
便利ならどんどん使っていきましょう。
使い慣れてしまえば、今まで思いもよらなかったところで使えることに気づくかもしれません。

もう書くことないや。

終わりに

今回の内容にはあまり関係ないのですが、私は一つのコードでprint関数を何回も使うときに間に「ーーーーー」とかを挟むことがあります。こうすると見やすそうな気がするのですが、皆さんはどう思いますか?

今回はここまで。

皆さんの参考になると幸いです。

コメント

  1. […] […]

  2. zoritoler imol より:

    As I website owner I conceive the articles here is real great, thanks for your efforts.

  3. graliontorile より:

    This really answered my drawback, thanks!

タイトルとURLをコピーしました