Python反转列表的每两个元素

ede*_*esz 1 python reverse list python-2.7

我有一个Python列表,我希望反转列表中的每对元素.这是清单:

list_ty = ['many_ord','many','12_FH_Temp_ord','12_FH_Temp','Celsius_ord','Celsius','Pressure_Pas_ord','Pressure_Pas','Kelvin_ord','Kelvin']
Run Code Online (Sandbox Code Playgroud)

这是我想得到的:

list_out = ['many','many_ord','12_FH_Temp','12_FH_Temp_ord','Celsius','Celsius_ord','Pressure_Pas','Pressure_Pas_ord','Kelvin','Kelvin_ord']
Run Code Online (Sandbox Code Playgroud)

附加信息:

列表中总会有偶数个元素.

结束的项目_ord将始终位于项目之前_ord.

题:

有没有办法扭转每个项目的结束顺序_ord和以下(相关)项目没有_ord

And*_*ndy 6

一次使用for循环和第2步元素.你可以使用基本的python变量swap:

a, b = b, a
Run Code Online (Sandbox Code Playgroud)
list_ty = ['many_ord','many','12_FH_Temp_ord','12_FH_Temp','Celsius_ord','Celsius','Pressure_Pas_ord','Pressure_Pas','Kelvin_ord','Kelvin']

for i in range(0, len(list_ty), 2):
    list_ty[i], list_ty[i+1] = list_ty[i+1], list_ty[i] 
Run Code Online (Sandbox Code Playgroud)

list_ty 此循环后具有以下值:

['many', 'many_ord', '12_FH_Temp', '12_FH_Temp_ord', 'Celsius', 'Celsius_ord', 'Pressure_Pas', 'Pressure_Pas_ord', 'Kelvin', 'Kelvin_ord']
Run Code Online (Sandbox Code Playgroud)