Pick

Pick[list,sel]

list の要素の中で対応する sel の要素がTrueであるものを選び出す.

Pick[list,sel,patt]

list の要素の中で対応する sel の要素が patt にマッチするものを選び出す.

詳細

  • sel はどんな深さのネストしたリストでもよい.
  • Pick[list,sel,patt]は,sel[[i1,i2,]]patt とマッチする list[[i1,i2,]]を選び出す.
  • Pickは,ネストしたリスト sel の中の patt にマッチする要素の並び方によっては,不調和配列を返すことがある.
  • listsel 中の頭部はListでなくともよい.
  • PickSparseArrayオブジェクトと使うことができる.
  • Parallelize[Pick[list,sel]]Pick[list,sel]をすべてのサブカーネルで並列に計算する. »

例題

すべて開くすべて閉じる

  (2)

「選択」リスト中の1の位置に当たる要素を抽出する:

二次元配列から要素を抽出する:

スコープ  (4)

「選択」リストでTrueが現れる位置に当たる要素を抽出する:

部分がパターンにマッチする要素を取り出す:

SparseArrayを使って引数を選ぶ:

SparseArrayから要素を選び出す:

一般化と拡張  (3)

データはリストではなくてもよい:

選択の引数はリストではなくてもよい:

特定の文字だけを取り出すために,文字列を文字のリストに変換する:

特性と関係  (2)

Pick[list,sel,patt]における比較は純粋に構造的なもので,頭部は考慮しない:

f[b]が選択されるのは,sel3,1部分が patt にマッチするためである:

list に対応する部分が存在するなら,その部分が頭部とともに選択される:

sel2,1部分も patt にマッチすることに注意のこと:

しかし,list にはこれに対応する部分がない:

Pickを並列に計算する:

考えられる問題  (4)

「選択」リストはデータと同じ長さ・同じ構造でなければならない:

Pickで原子式を使うことができる:

これは,空を含むすべての部分がマッチのためにテストされるためである:

原子引数が含まれる場合はそのままでは選択されず,Sequence[]が返される:

これは,第2引数にも等しく適用される:

第3引数でExcept[c]を使うと思いがけない結果になることがある:

選択引数全体がパターンにマッチするので,式全体が返される:

Except[c,p]を使って,パターンを選択引数の要素に制限する:

選択子の引数に非原子式を使うと思いがけない結果になる:

リストがTrueFalseだけを含むように事前にテストを適用して構造的な問題を避ける:

Wolfram Research (2004), Pick, Wolfram言語関数, https://reference.wolfram.com/language/ref/Pick.html.

テキスト

Wolfram Research (2004), Pick, Wolfram言語関数, https://reference.wolfram.com/language/ref/Pick.html.

CMS

Wolfram Language. 2004. "Pick." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Pick.html.

APA

Wolfram Language. (2004). Pick. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Pick.html

BibTeX

@misc{reference.wolfram_2024_pick, author="Wolfram Research", title="{Pick}", year="2004", howpublished="\url{https://reference.wolfram.com/language/ref/Pick.html}", note=[Accessed: 23-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_pick, organization={Wolfram Research}, title={Pick}, year={2004}, url={https://reference.wolfram.com/language/ref/Pick.html}, note=[Accessed: 23-November-2024 ]}