タグ

pythonと内包表記に関するkoma_gのブックマーク (3)

  • なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか - 静かなる名辞

    煽りっぽいタイトルだが、この記事は真剣である。リスト内包表記にはpython哲学の質に関わる問題が潜んでいる。 python使いはリスト内包表記を好む。他の言語の使用者なら「for文で書きゃ良いのに」と思うような処理を、リスト内包表記で書くことを好む。 それはなぜなのか。 # 1~10の値を2乗して合算し、表示する # よくあるpythonコード print( sum([pow(x, 2) for x in range(1, 11)]) ) # こうきゃ良いのにと思う人が世間には多い(と思う) n = 0 for i in range(1, 11): n += pow(i, 2) print(n) # 他の言語の使用者が「ぎゅうぎゅうしててわかりづらいよ」と文句をいうと、python使いは不満げに改行して「これでいいだろ、上等だ」という表情を見せる print( sum([pow(x,

    なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか - 静かなる名辞
  • [解決!Python]内包表記で辞書を作成するには

    辞書内包表記を使って、辞書を作成する方法と、zip関数と辞書内包表記を組み合わせる方法、注意点などを紹介する。 # 辞書内包表記の基型 d = {k: k ** 2 for k in range(5)} print(d)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} # 辞書内包表記とzip関数との組み合わせ articles = [ 'リストの内包表記と「if」を組み合わせるには', '内包表記でリストを作成するには', 'バイナリファイルの読み書きまとめ', 'テキストファイルの読み書きまとめ' ] urls = [ 'https://www.atmarkit.co.jp/ait/articles/2107/06/news020.html', 'https://www.atmarkit.co.jp/ait/articles/2106/29/news021.ht

    [解決!Python]内包表記で辞書を作成するには
  • これを見ればPythonの内包表記を完全に理解できる - Qiita

    これはとても簡単な例ですが、まあなんとなくどんなものかはわかったと思います。(内部処理はまだ理解できていなくて良いです。) aとbは、結果は同じものになっていますが、具体的にどんな処理を行っているのかを説明していきましょう。 前者は、 1. まず空のリスト(可変長オブジェクト)を生成してaという変数に代入します。 2. rangeオブジェクトを生成します。 3. 2のオブジェクトから各値を取り出し、iという変数に代入します。 4. iを1で作成したリストにappendしていきます。(3, 4を繰り返します。) 後者は 1. まず空のリスト(可変長オブジェクト)を生成します。(この中で行われるiterationの結果を格納していくための箱です) 2. rangeオブジェクトを生成します。 3. 2のオブジェクトから各値を取り出し、iという変数に代入します。 4. 内包表記を使うことで、結果の

    これを見ればPythonの内包表記を完全に理解できる - Qiita
  • 1