📜  Python|交换元组列表中的元组元素

📅  最后修改于: 2022-05-13 01:55:16.455000             🧑  作者: Mango

Python|交换元组列表中的元组元素

在进行竞争性编程时,可能会遇到一个问题,即需要使用 2D 平面和坐标。一个这样的子问题可以是交换 x、y 坐标元素。让我们讨论使用元组元素交换可以解决此问题的某些方法。

方法#1:使用列表推导
这只是一种粗暴的方法来执行更长的循环方法来交换元素。在此创建一个新的元组列表而不是就地交换。

# Python3 code to demonstrate working of
# Swap tuple elements in list of tuples
# Using list comprehension
  
# initializing list
test_list = [(3, 4), (6, 5), (7, 8)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Swap tuple elements in list of tuples
# Using list comprehension
res = [(sub[1], sub[0]) for sub in test_list]
          
# printing result
print("The swapped tuple list is : " + str(res))
输出 :
The original list is : [(3, 4), (6, 5), (7, 8)]
The swapped tuple list is : [(4, 3), (5, 6), (8, 7)]

方法 #2:使用map() + lambda
执行此任务的另一种方法是使用map和 lambda。这执行起来有点慢,但执行此任务的方式更紧凑。

# Python3 code to demonstrate working of
# Swap tuple elements in list of tuples
# Using map() + lambda
  
# initializing list
test_list = [(3, 4), (6, 5), (7, 8)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Swap tuple elements in list of tuples
# Using map() + lambda
res = list(map(lambda sub: (sub[1], sub[0]), test_list))
          
# printing result
print("The swapped tuple list is : " + str(res))
输出 :
The original list is : [(3, 4), (6, 5), (7, 8)]
The swapped tuple list is : [(4, 3), (5, 6), (8, 7)]