Python 如何在元组列表中反转元组?

Python 如何在元组列表中反转元组?,python,list,tuples,Python,List,Tuples,注;这是一个自我问答。请看下面我的答案 给定一个元组列表: l = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')] 我想找到最快最简单的方法来反转x中的每个元组,以便得到: [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)] 这其实很简单,有几种方法,最简单的是列表理解。要反转2元组,只需将其解压缩并交换: [(y, x) for x, y in l] # [('a', 1), ('b',

注;这是一个自我问答。请看下面我的答案

给定一个元组列表:

l = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
我想找到最快最简单的方法来反转
x
中的每个元组,以便得到:

[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]

这其实很简单,有几种方法,最简单的是列表理解。要反转2元组,只需将其解压缩并交换:

[(y, x) for x, y in l]
# [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
要反转n元组,可以使用元组切片(
[::-1]
)反向切片:


使用标准的负步长切片
t[::-1]
获取元组的倒数,并使用列表理解来获取每个元组的倒数。

最简单的方法是

l=[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
l=[tuple(reversed(t)) for t in l]

你是不是在发帖后一分钟内就写下了你自己问题的答案?@PhilippeOger:有一个选项可以将答案和问题一起发帖。(还有,自我回答的问题也可以。)有人能告诉我那是什么输入和输出吗?@Vicrobot erm,那是什么输入和输出*天真地吹口哨*@coldspeed,那只是口译员的输入和输出;或者python的任何语法?它需要转换为
tuple
,才能得到您期望的结果,但这并不重要。@Jean-Françoisfare看看这个问题上的反对票数。我今天坐在450个代表处,我不会从中得到任何好处。说真的,问问题基本上是在攻击你自己的脚。不过你自己的回答有代表性。我不同意你说的射中你自己的脚(对梅塔来说可能是这样的):
l2 = [t[::-1] for t in l]
l=[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
l=[tuple(reversed(t)) for t in l]