如何使用python反转元组列表中的元组?

cs9*_*s95 -7 python tuples list

注意; 这是一个自我问答.请参阅下面的答案.

给出一个元组列表:

l = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
Run Code Online (Sandbox Code Playgroud)

我想找到最快最简单的方法来反转每个单元组x,以便我得到:

[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
Run Code Online (Sandbox Code Playgroud)

use*_*ica 12

l2 = [t[::-1] for t in l]
Run Code Online (Sandbox Code Playgroud)

使用标准的负步骤切片t[::-1]来获得元组的反转,并使用列表推导来获得每个元组的反转.


cs9*_*s95 8

实际上这很简单,有几种方法,最简单的是列表理解:

[(y, x) for x, y in l]
# [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
Run Code Online (Sandbox Code Playgroud)

您还可以考虑使用[::-1]:

[x[::-1] for x in l]
# [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
Run Code Online (Sandbox Code Playgroud)

  • @PhilippeOger:可以选择发布答案和问题.(另外,自己回答的问题很好.) (3认同)
  • 您是否只是在发布问题的一分钟内写出了您自己问题的答案? (2认同)