Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP、JavaScript中执行此Python3列表操作的最短方法?_Php_Javascript_Python_List_Python 3.x - Fatal编程技术网

在PHP、JavaScript中执行此Python3列表操作的最短方法?

在PHP、JavaScript中执行此Python3列表操作的最短方法?,php,javascript,python,list,python-3.x,Php,Javascript,Python,List,Python 3.x,我正在学习Python,我刚刚在一本书中读到,Python 3允许您执行这个很酷的列表操作: first, *middle, last = [1, 2, 3, 4, 5] 第一个:1 中间:[2,3,4] 最后:5 如果我想遍历列表的中间部分,并对第一项和最后一项分别执行操作,这非常好 在Python2.x、PHP和JavaScript中,最简单(阅读:最甜)的方法是什么?PHP中的解决方案可以是以下,使用和: PHP中的解决方案可以如下所示,使用和: Python2.x first, mid

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

first, *middle, last = [1, 2, 3, 4, 5]
第一个:
1
中间:
[2,3,4]
最后:
5

如果我想遍历列表的中间部分,并对第一项和最后一项分别执行操作,这非常好


在Python2.x、PHP和JavaScript中,最简单(阅读:最甜)的方法是什么?

PHP中的解决方案可以是以下,使用和:


PHP中的解决方案可以如下所示,使用和:

Python2.x

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

first, middle, last = a[0], a[1:-1], a[-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)

在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]);
但它会破坏原始数组,只留下第一个和最后一个元素。

在PHP中:

list($first, $middle, $last) = array($array[0], array_splice($array, 1, -1), $array[1]);
但它会破坏原始数组,只留下第一个和最后一个元素。

Python 2: PHP: JavaScript: 对于JavaScript示例,我创建了一个数组副本,以避免破坏原始数组。

Python 2: PHP: JavaScript:
对于JavaScript示例,我创建了一个数组的副本,以避免破坏原始数组。

当然,首先执行pop会稍微有效一些。;)就JavaScript中的记录而言,它也可以工作(
arr.shift()
arr.pop()
)。当然,先做pop会稍微有效一些仅对于JavaScript中的记录,它也可以工作(
arr.shift()
arr.pop()
)。由于这是关于简洁性的,因此您必须在此处包含所需的附加赋值(
a=[1,2,3,4,5]
)。否则,如果你想在实践中对一个文本这样做,你就必须把这个文本拼三遍。为什么不简单地<代码>第一,中间,最后=1,[ 2, 3, 4 ],5 < /代码>…@ yyh:我不确定我是否这样做,但是我认为列表理解是列表文字。因为这是简洁的,你必须包括这里需要的额外分配(<代码> a= [1,2,3,4,5] < /代码>)。否则,如果你想在实践中对一个文本这样做,你就必须把这个文本拼三遍。为什么不简单地<代码>第一,中间,最后=1,[2, 3, 4 ],5 < /代码>…@ yyh:我不确定我是否这样做,但是我认为列表理解是列表文字。
var a = Array.apply(0,myAry), first = a.shift(), last = a.pop(), middle = a;