看板 Mathematica 關於我們 聯絡資訊
各位大大,小妹剛接觸mathematica,非常非常菜,想請教一個問題 如果想將數列裡的數字順序排列顛倒,除了使用reverse 例如: Reverse[{a,,b,3,4,5,c ,d }]=>{d,c,5,4,3,b,a} 還能用什麼其他的數學運算使數列顛倒 拜託各位大大超賜交 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.67.38.63 ※ 文章網址: https://www.ptt.cc/bbs/Mathematica/M.1427376204.A.F80.html
chungyuandye: yourlist[[Range[Length[yourlist], 1, -1]]] 03/26 23:09
yuyu0930: 太感謝了~~ 03/28 11:31
biglion: 純粹玩玩 Flatten[Fold[{#2, #1} &, yourlist]] 03/28 14:37
biglion: f/@yourlist//.{f[x_],t___,y___Integer}->{t,x,y} 03/28 14:39
biglion: 想要更複雜的方法一定找得到 不過效率都沒有Reverse高 03/28 14:41
biglion: 抱歉 我忽略了串列元素未必為整數 前面規則式方法應改為: 03/28 14:45
biglion: f/@list//.{f[x_],t___,y___?(FreeQ[#,f]&)}->{t,x,y} 03/28 14:47
biglion: 規則式中的f可改成任意未定義的函數 但不能出現於串列中 03/28 14:49
LPH66: 是說新版的 MMA 也有類似 Matlab 的 span 語法 03/28 21:34
LPH66: 本題的倒轉可以用 list[[-1;;1;;-1]] 達成 03/28 21:35
LPH66: 這裡 a;;b;;c 是由 a 到 b 每次跳 c 這樣的意思 03/28 21:35
LPH66: a, b 是負數時表示倒數 03/28 21:36
yuyu0930: 謝謝各位~ 03/30 06:55