在PHP, JavaScript中做这个python3列表操作的最短方法

Shortest way to do this Python 3 list operation in PHP, JavaScript?

本文关键字:操作 列表 方法 python3 PHP JavaScript      更新时间:2023-09-26

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

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

第一:1中间:[2, 3, 4]last: 5

如果我想要遍历列表的中间,并且对第一项和最后一项分别做事情,这是很好的。

在Python 2中最简单(读:最繁琐)的方法是什么?x, PHP和JavaScript?

python 2.x

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

PHP的解决方案如下,使用array_shiftarray_pop:

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

在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)

PHP中:

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

它销毁原始数组,只留下第一个和最后一个元素。

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示例,我创建了数组的副本,以便不破坏原始数组。