Guest User

Untitled

a guest
Jan 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  2.  
  3. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  4. sub = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
  5.  
  6. Count[Partition[data, 2, 1], Alternatives @@ sub]
  7.  
  8. 10
  9.  
  10. Count[Partition[data, 2, 1], #] & /@ sub
  11.  
  12. {2, 3, 3, 2}
  13.  
  14. Length[ReplaceList[data, {___, ##, ___} :> {}]] & @@@ sub
  15.  
  16. {2, 3, 3, 2}
  17.  
  18. Length[ReplaceList[data, {___, ##, ___} :> {}]] & @@@ {{1, 2, 1}, {1}}
  19.  
  20. {2, 6}
  21.  
  22. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  23.  
  24. pat = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
  25.  
  26. ts = ToString @ Row[#, ","] &;
  27.  
  28. StringCount[ts@data, ts /@ pat, Overlaps -> True]
  29.  
  30. 10
  31.  
  32. With[{ds = ts@data},
  33. StringCount[ds, ts@#, Overlaps -> True] & /@ pat
  34. ]
  35.  
  36. {2, 3, 3, 2}
  37.  
  38. StringCases[ts@data, ts@# -> # & /@ pat, Overlaps -> True] // Tally
  39.  
  40. {{{1, 1}, 2}, {{1, 2}, 3}, {{2, 1}, 3}, {{2, 2}, 2}}
  41.  
  42. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  43. sub = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
  44.  
  45. Total@Boole@
  46. ListCorrelate[#, data, {1, -1}, "paddingUselessHere", Equal, And] & /@ sub
  47.  
  48. {2, 3, 3, 2}
  49.  
  50. Total@Boole@ListCorrelate[{1, 2, 1}, data, {1, -1}, "paddingUselessHere", Equal, And]
  51.  
  52. ListCorrelate[{p1, p2}, {a, b, c, d}, {1, -1}, "whatever", f, g]
  53.  
  54. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  55. targ = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
  56. Join@@(Last@Reap[Sow[1, #] & /@ (w @@@ Partition[data, 2, 1]),
  57. w @@@ targ, #1 /. w[a__] -> List[a] -> Total@#2 &])
  58.  
  59. (* {{1, 1} -> 2, {1, 2} -> 3, {2, 1} -> 3, {2, 2} -> 2}*)
  60.  
  61. data = {1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1};
  62.  
  63. pat = {{1, 1}, {1, 2}, {2, 1}, {2, 2}};
  64.  
  65. SequenceCount[data, #, Overlaps -> True] & /@ pat
  66.  
  67. Thread[pat -> %]
  68.  
  69. {2, 3, 3, 2}
  70.  
  71. {{1, 1} -> 2, {1, 2} -> 3, {2, 1} -> 3, {2, 2} -> 2}
  72.  
  73. ClearAll[inSub]
  74. inSub[lst_][x__] /; MemberQ[lst, {x}] := {x}
  75. inSub[_][__] := Sequence[]
  76.  
  77. Length @ Partition[data, 2, 1, 1, {}, inSub[sub]]
  78.  
  79. Length @ Partition[data, 2, 1, 1, {}, inSub[Most @ Rest @ sub]]
Add Comment
Please, Sign In to add comment