[過去ログ] Pythonのお勉強 Part74 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
521: (ワッチョイ f954-A89Y) 01/17(金)11:09 ID:lUhfcPef0(1/3)調 AAS
リスト内包表記は数学の集合の内包的表記から来ている
内包的表記は外延的表記と対になる概念で、要素を列挙するか、要素の特徴で表すかの違い
内包的表記は定義域と命題関数から構成される
{x∈R | 2x}
こう書くと定義域がRで、命題関数が2x
Rに含まれるxに対して、2xで評価されるもので構成される集合

同じことをリスト内包表記で書くと、
[2*x for x in R]
になる
定義域と命題関数の順序が逆なのは、'for' というキーワードの意味と合わせる為だろう
522: (ワッチョイ f954-A89Y) 01/17(金)11:41 ID:lUhfcPef0(2/3)調 AAS
仮に数学と同じ順序で書くと
[x in R | 2*x]
[x in R such that 2*x]
[x in R s.t. 2*x]
こんな感じになっていただろう
言語仕様として微妙なので却下したけれど、
such that抜きでいきなり命題関数が現れるので、読んでも意味が判らなくなった
523: (ワッチョイ f954-A89Y) 01/17(金)14:52 ID:lUhfcPef0(3/3)調 AAS
2*xといきなり書く時点でxは初登場なので、普通に考えるとNameErrorになる
後で出てくるx in Rのxだよと言われても、そこだけ文法が歪んでいる
for x in R に対して 2*xのリストを作る、という順序で読めた方が明らかに判りやすい
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.604s*