ページへ戻る
− Links
印刷
Python/内包表記
の編集 ::
NJF Wiki
xpwiki
:
Python
/
内包表記
の編集
Python/内包表記 の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
Pythonには「内包表記」という独特の記法があります。 他の言語には少ない書き方で、しかも結構便利なのでこれをよく使うようになるとPython使いこなし始めたような気になります。もちろん、気のせいですが。 内包というくらいなので、リストや辞書オブジェクトなどの中で使います。例えば、 li = [ x*2 for x in range(10)] とするとliは [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] となります。 つまりリストなどのカッコの中に、最初に値、続いてループのルールを書くとそのルールにのっとって作成された要素のリストなどができるという記法です。 これを内包表記を使わずに書くと、 li = [] for x in range(10): li.append(x*2) となります。 一般に内包表記のほうが処理速度は速いと言われています。 また、記法もコンパクトになり、ちょっとした処理には便利です。 また「if」を用いて条件を指定することも可能です。 li = [ x*2 for x in range(10) if x < 2] print li 結果 [0, 2] 高速化や記法の簡略化といったメリットのある一方で、複雑な処理を書くのは難しく読みづらくなりやすいです。また特にPythonに不慣れな人には一見して何が書いてあるか良くわからず、Pythonの良さである読みやすさがなくなるのではという意見もあります。 Pythonにはリストの検索や変換を行う、mapやfilterなどの関数もあり、処理は遅くなりますがそちらを使った方が見やすくなることもあります。それらについては「[[Python/リストの検索と変換]]」を参照してください。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「名古屋」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
添付ファイル
[2]
:
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=Python%2F%E5%86%85%E5%8C%85%E8%A1%A8%E8%A8%98
(This host)
/cms/modules/xpwiki/?plugin=attach&pcmd=list&refer=Python%2F%E5%86%85%E5%8C%85%E8%A1%A8%E8%A8%98