Skip to main content
 首页 » 编程设计

Python 反转列表的每两个元素

2025年05月04日9lexus

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

list_ty = ['many_ord','many','12_FH_Temp_ord','12_FH_Temp','Celsius_ord','Celsius','Pressure_Pas_ord','Pressure_Pas','Kelvin_ord','Kelvin'] 

这是我想要得到的:

list_out = ['many','many_ord','12_FH_Temp','12_FH_Temp_ord','Celsius','Celsius_ord','Pressure_Pas','Pressure_Pas_ord','Kelvin','Kelvin_ord'] 

附加信息:

列表中的元素数量总是偶数。

以 _ord 结尾的项目总是在没有 _ord 的项目之前。

问题:

有没有一种方法可以颠倒以 _ord 结尾的每个项目和没有 _ord 的后续(关联)项目的顺序?

请您参考如下方法:

一次使用 for 循环和第 2 步元素。然后您可以使用基本的 python 变量交换:

a, b = b, a 

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]  

list_ty 在此循环后具有以下值:

['many', 'many_ord', '12_FH_Temp', '12_FH_Temp_ord', 'Celsius', 'Celsius_ord', 'Pressure_Pas', 'Pressure_Pas_ord', 'Kelvin', 'Kelvin_ord']