从列表中删除第一个项目的最快方法是什么?

问题描述:

我读了一些使用as a reference的快速list操作,如解释here从列表中删除第一个项目的最快方法是什么?

什么是从列表中删除第一个项目的最快方法(可能使用as a referencerest of list)?

例如:

{3,5,6,2,8}

变成

{5,6,2,8}

+0

既然你问过“最快的方式”,你可能想要在http://macscripter.net/viewforum.php?id=2上发布你的问题,那里有许多长期经验丰富的AppleScript大师。下面的答案可能是正确的,我不知道。只是建议这是肯定的。 – JMichaelTX

+0

@JMichaelTX很酷,谢谢! – user3225395

+0

@ wch1zpink,这样的小尺寸列表可能几乎没有差别。当清单是数百或数千项目时,它变成了一个非常不同的问题。我已经看到了这种方法在这种情况下产生很大差异的讨论。 IAC,在Macscripter.net上从专家那里获得第二意见从未受伤。如果你的方法是最快的,没有什么可以担心的。 – JMichaelTX

在您的例子列表{3, 5, 6, 2, 8},假设它设置为:

set theList to {3, 5, 6, 2, 8} 

以再从列表删除3一种方法是:

set theList to items 2 thru -1 of theList 

或者:

set theList to items 2 thru -1 of {3, 5, 6, 2, 8} 


Script Editor

这将删除列表中的第一项

set theList to rest of {3, 5, 6, 2, 8} 

返回{5,6,2,8}


可替代地,这将从列表中删除最后一项

set theList to reverse of rest of reverse of {3, 5, 6, 2, 8} 

返回{3,5,6,2}