並列リスト内包表記とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 並列リスト内包表記の意味・解説 

並列リスト内包表記

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/19 04:51 UTC 版)

リスト内包表記」の記事における「並列リスト内包表記」の解説

Glasgow Haskell Compilerには、リスト内包表記構文において複数独立した修飾子 (qualifier) の分割許可する、並列リスト内包表記(あるいはzip-comprehension)と呼ばれる拡張構文存在するカンマ区切られ変数依存関係にある(すなわち、ネストされる)が、パイプ文字区切られ修飾子並列評価されるマルチスレッド動作するという意味でなく、単に修飾子zipされるという意味である)。 -- 通常のリスト内包表記a = [(x,y) | x <- [1..5], y <- [3..5]]-- [(1,3),(1,4),(1,5),(2,3),(2,4) ...-- zipによるリスト内包表記b = [(x,y) | (x,y) <- zip [1..5] [3..5]]-- [(1,3),(2,4),(3,5)]-- 並列リスト内包表記c = [(x,y) | x <- [1..5] | y <- [3..5]]-- [(1,3),(2,4),(3,5)] Racketの標準ライブラリには、「for」と「for*」いう2つのキーワードで区別される、並列バージョンと多重ループバージョンの2つの内包表記が含まれている。例えば、ベクトル内包表記「for/vector」および「for*/vector」は、入力シーケンスに対してそれぞれ並列および多重ループによってベクトルを作成する。以下は、上のHaskellのリスト内包表記の例をRacketコードに書き下したものである。 > (for*/list ([x (in-range 1 6)] [y (in-range 3 6)]) (list x y))'((1 3) (1 4) (1 5) (2 3) (2 4) (2 5) (3 3) (3 4) (3 5) (4 3) (4 4) (4 5) (5 3) (5 4) (5 5))> (for/list ([x (in-range 1 6)] [y (in-range 3 6)]) (list x y))'((1 3) (2 4) (3 5)) また、Pythonでは次のように書ける。 # 通常のリスト内包表記>>> a = [(x, y) for x in range(1, 6) for y in range(3, 6)][(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), ...# 並列 (zipによる) 内包表記>>> b = [x for x in zip(range(1, 6), range(3, 6))][(1, 3), (2, 4), (3, 5)]

※この「並列リスト内包表記」の解説は、「リスト内包表記」の解説の一部です。
「並列リスト内包表記」を含む「リスト内包表記」の記事については、「リスト内包表記」の概要を参照ください。

ウィキペディア小見出し辞書の「並列リスト内包表記」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「並列リスト内包表記」の関連用語

1
リスト内包表記 百科事典
16% |||||

並列リスト内包表記のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



並列リスト内包表記のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのリスト内包表記 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS