我正在学习Python,我只是在一本书中读到Python 3允许你做这个很酷的列表操作:
first, *middle, last = [1, 2, 3, 4, 5]
首先:1
中:[2, 3, 4]
最后:5
如果我想遍历列表的中间位置,并使用第一个和最后一个项目分开,那就太棒了。
在Python 2.x,PHP和JavaScript中,最简单的(读取:最含糖的)方法是什么?
答案 0 :(得分:3)
python 2.x
first, middle, last = a[0], a[1:-1], a[-1]
答案 1 :(得分:2)
$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)
first, middle, last = a[0], a[1:-1], a[-1]
$first = array_shift($arr);
$last = array_pop($arr);
$middle = $arr;
var a = Array.apply(0,myAry), first = a.shift(), last = a.pop(), middle = a;
对于JavaScript示例,我创建了一个数组副本,以免破坏原始数据。