我有4个项目的列表,如下所示:
a, b, c, d = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我正在重新排序列表,翻转每一对:
[b, a, d, c]
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个表达式中执行此操作?我已经尝试过使用列表理解和解包,但似乎无法正确使用它.
我有[1,2,3,4].我想要[2,1,4,3].
更一般地说,如果您想要在列表中翻转数字对:
>>> L = [1, 2, 3, 4, 5, 6]
>>> from itertools import chain
>>> list(chain.from_iterable(zip(L[1::2], L[::2])))
[2, 1, 4, 3, 6, 5]
Run Code Online (Sandbox Code Playgroud)
看这个:
>>> lst = [1, 2, 3, 4]
>>> [y for x in zip(*[iter(lst)]*2) for y in x[::-1]]
[2, 1, 4, 3]
>>>
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> [y for x in zip(*[iter(lst)]*2) for y in x[::-1]]
[2, 1, 4, 3, 6, 5, 8, 7, 10, 9]
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3476 次 |
| 最近记录: |