如何在mathematica中获取列表中奇怪索引的元素

发布于 2024-10-15 02:11:20 字数 95 浏览 4 评论 0原文

如何获取列表中奇怪索引的元素?我正在考虑选择,但没有找到任何返回元素位置的内容,特别是考虑到列表中存在重复元素。

一般来说,如何选择那些索引满足某些条件的元素?

How to get the oddly indexed elements in a list? I am thinking of Select, but did not find anything returning an element's position, especially considering there are repetitive elements in the list.

Also in general, how to select those elements whose indices satisfy some certain conditions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

带刺的爱情 2024-10-22 02:11:20

除了 @belisarius的答案,不需要计算Length[lis]

Take[lis, {1, -1, 2}]

lis[[1 ;; -1 ;; 2]]

您通常可以使用-1来表示“最后”位置。

Here's a few more in addition to @belisarius's answer, which don't require computing Length[lis]:

Take[lis, {1, -1, 2}]

lis[[1 ;; -1 ;; 2]]

You can often use -1 to represent the "last" position.

音盲 2024-10-22 02:11:20

有很多方法,以下是其中一些:

In[2]:= a = Range[10];le = Length@a;

In[3]:= Table[a[[i]], {i, 1, le, 2}]

In[5]:= Pick[a, Table[Mod[i, 2], {i, 1, le}], 1]

In[6]:= a[[1 ;; le ;; 2]]

一般来说,使用 Pick[] (作为示例),您可以对任何可以想象的索引掩码进行建模。

There are a lot of ways, here are some of them:

In[2]:= a = Range[10];le = Length@a;

In[3]:= Table[a[[i]], {i, 1, le, 2}]

In[5]:= Pick[a, Table[Mod[i, 2], {i, 1, le}], 1]

In[6]:= a[[1 ;; le ;; 2]]

In general, with Pick[] (as an example) you can model any conceivable index mask.

送君千里 2024-10-22 02:11:20

由于某种原因,答案中省略了 Span 的简洁形式。

Range[20][[;;;;2]]
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

引用文档

;;;;k 
from the beginning to the end in steps of k.  

For some reason the terse form of Span has been omitted from the answers.

Range[20][[;;;;2]]
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

Quoting the documentation:

;;;;k 
from the beginning to the end in steps of k.  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文