作者chungyuandye (養花種魚數月亮賞星星)
看板Mathematica
標題Re: [問題] list中選擇一串數據的方法
時間Thu Jun 14 00:45:30 2012
※ 引述《biing (快樂的過每一天)》之銘言:
: 如果
: a = Table[{i, RandomInteger[{1, 3}]}, {i, 1, 10}]
: 假設list是:
: {{1, 2}, {2, 1}, {3, 3}, {4, 2}, {5, 2}, {6, 1}, {7, 1},
: {8, 3}, {9, 1}, {10, 1}}
: 要怎樣以a[[i,2]]中,連續有3個或以上等於或大於2,來選出list呢?
: 例如
: {{3, 3}, {4, 2}, {5, 2}}
: 謝謝。
Select[
(* ReplaceList 這個函數把左右兩邊陣列第二的元素小於2的抓出來 *)
ReplaceList[
a, {___, x_, a1__, y_, ___} :> {a1} /; x[[2]] < 2 && y[[2]] < 2],
(* 利用Select把ReplaceList輸出的資料長度大於三及全部第二個元素都是大於
或等於2的抓出來 *)
Length[#] >= 3 &&
Apply[Times, Boole@Thread[#[[All, 2]] >= 2]] == 1 &]
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.233.129.177
推 biing:謝謝老師。目前對我來說還是天書...要好好研究一下… 06/14 06:16
推 tengyuan:我也這樣覺得 努力研究中! 06/14 21:48
※ 編輯: chungyuandye 來自: 118.233.129.177 (06/14 23:01)