首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何反转元组列表中的元组?

如何反转元组列表中的元组?
EN

Stack Overflow用户
提问于 2017-07-26 04:12:21
回答 3查看 8.8K关注 0票数 -7

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

给定一个元组列表:

代码语言:javascript
复制
l = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

我想找到最快、最简单的方法来反转x中的每个单独的元组,这样我就可以得到:

代码语言:javascript
复制
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-26 04:15:44

代码语言:javascript
复制
l2 = [t[::-1] for t in l]

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

票数 15
EN

Stack Overflow用户

发布于 2017-07-26 04:12:21

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

代码语言:javascript
复制
[(y, x) for x, y in l]
# [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]

要反转n元组,可以使用元组切片([::-1])进行反转切片:

代码语言:javascript
复制
[x[::-1] for x in l]
# [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
票数 8
EN

Stack Overflow用户

发布于 2017-07-26 04:16:43

最简单的方法就是...

代码语言:javascript
复制
l=[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
l=[tuple(reversed(t)) for t in l]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45312663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档