如何获得Mathematica List中一个元素的索引?

如何获得Mathematica List中一个元素的索引?

这个问题其实是为了下面这个问题:“如果获得List中一个元素的前一个元素?”(第一个问题可以不回答——如果可以直接解决第二个问题的话)
很感谢朋友们的回答。看来我还是没有把问题说清,很抱歉!!
其实是这样:如何从{a, b, c, d, e} 得到 {{a, b}, {b, c}, {c, d}, {d, e}, {e, a}}
我知道可以像下面这样做:
list1 = {a, b, c, d, e};
In[]:= Transpose[{list1, RotateLeft[list1]}]
Out[]:= {{a, b}, {b, c}, {c, d}, {d, e}, {e, a}}

那么有没有可能使用 /@ # & @@ 等类似这些的算符拼出一个式子直接达到上面的效果呢?

就像C语言中&a是一个数组中元素的地址,那么&a--就是前一个元素的地址一样,Mathematica有没有类似的手段呢?

ggggwhw让我汗了一下……赶紧回顾历史看看自己曾经问过什么,还好,也不是很怪异啊!
如果你知道我想干什么的话,就会知道这个问题一点也不奇怪。看看我用你的方法干了什么:
Graphics[Point[Partition[NestList[3.9#(1-#)&,0.3,100],2,1]]]
呵呵,分数我给少的了~

Position是求一个 元素(不仅仅是元素,可以是函数名,等等)在一个表中(不仅仅是个表,可以是表达式) 的位置,返回一个表,记录该元素在表达式中出现的由浅入深的层次位置,对于一个简单的表,就是返回它的序号,应该就是你指的索引了

比如
a = {21, 32, 21, 23, 4, 3, 4};
Position[a, 3]

你求一个元素的前一个元素,可以用下面的函数:

findpre[list_List, elem_] :=
Table[If[Position[list, elem][[i, 1]] > 1,
list[[(Position[list, elem])[[i, 1]] - 1]], ""], {i,
Count[list, elem]}]

list是你的表,elem是你要找的元素,返回查到的结果

祝君好运! 还有问题可以 Hi我

加油啊!

ps:

指针是C语言很特殊和重要的概念,不是各种语言都具有的
Mathematica没有指针这种数据类型
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-10
list.get(i)这个方法,不过你要知道你现在元素的索引。
第2个回答  2009-06-11
为什么你总是问一些奇怪的问题呢?
我不清楚你为什么要问这些问题.对你的工作,学习有用吗?
我找到了一个基本的操作,但不说你所说的符号表示法.而且和你要的结果还是有差距的.不过供你参考了.

list1 = {a, b, c, d, e};
Partition[list1, 2, 1]

说明:
Partition[arr, m, n]
将arr中的元素按顺序m个一组,每次向后移动n个数字.
相似回答