在 python 中交换列表的一部分
Swap parts of a list in python
假设我有,
a = [1,2,3,4,5]
我想把列表拼接a[:2]换成a[-2:]。这样a就变成了[4,5,3,1,2]
是否有 pythonic 方法来做到这一点?
EDIT1:在第一个答案之后,我尝试了这个,
>>> a = [1,2,3,4,5]
>>> a[:2],a[-2:]=a[-2:][:2]
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
TypeError: can only assign an iterable
出现异常,我得到了。
使用切片赋值和元组解包:
>>> a = [1,2,3,4,5]
>>> a[:2], a[-2:] = a[-2:], a[:2]
>>> a
[4, 5, 3, 1, 2]
假设我有,
a = [1,2,3,4,5]
我想把列表拼接a[:2]换成a[-2:]。这样a就变成了[4,5,3,1,2]
是否有 pythonic 方法来做到这一点?
EDIT1:在第一个答案之后,我尝试了这个,
>>> a = [1,2,3,4,5]
>>> a[:2],a[-2:]=a[-2:][:2]
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
TypeError: can only assign an iterable
出现异常,我得到了。
使用切片赋值和元组解包:
>>> a = [1,2,3,4,5]
>>> a[:2], a[-2:] = a[-2:], a[:2]
>>> a
[4, 5, 3, 1, 2]