在PHP,JavaScript中执行此Python 3列表操作的最短方法?

时间:2011-08-13 21:34:14

标签: php javascript python list python-3.x

我正在学习Python,我只是在一本书中读到Python 3允许你做这个很酷的列表操作:

first, *middle, last = [1, 2, 3, 4, 5]

首先:1 中:[2, 3, 4] 最后:5

如果我想遍历列表的中间位置,并使用第一个和最后一个项目分开,那就太棒了。

在Python 2.x,PHP和JavaScript中,最简单的(读取:最含糖的)方法是什么?

5 个答案:

答案 0 :(得分:3)

python 2.x

first, middle, last = a[0], a[1:-1], a[-1]

答案 1 :(得分:2)

使用array_shiftarray_pop

,PHP中的解决方案如下
$first = array_shift($arr);
$last = array_pop($arr);
$middle = $arr;

答案 2 :(得分:1)

在Python2上,您可以使用切片表示法,我认为它也更容易阅读。

>>> t = (1, 2, 3, 4, 5)
>>> a, b, c = t[0], t[1:-1], t[-1]
>>> a, b, c
(1, (2, 3, 4), 5)

答案 3 :(得分:1)

在PHP中:

list($first, $middle, $last) = array($array[0], array_splice($array, 1, -1), $array[1]);

它会破坏原始数组,只留下第一个和最后一个元素。

答案 4 :(得分:0)

Python 2:

first, middle, last = a[0], a[1:-1], a[-1]

PHP:

$first = array_shift($arr);
$last = array_pop($arr);
$middle = $arr;

的JavaScript:

var a = Array.apply(0,myAry), first = a.shift(), last = a.pop(), middle = a;

对于JavaScript示例,我创建了一个数组副本,以免破坏原始数据。