首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中交换列表内的元组/列表中的值?

在python中交换列表内的元组/列表中的值?
EN

Stack Overflow用户
提问于 2012-11-15 02:19:18
回答 2查看 26.8K关注 0票数 16

我有一个这样的元组列表:

代码语言:javascript
复制
[('foo','bar'),('foo1','bar1'),('foofoo','barbar')]

在python (在cpu/ram非常低的机器上运行)中,像这样交换值的最快方法是什么?

代码语言:javascript
复制
[('bar','foo'),('bar1','foo1'),('barbar','foofoo')]

我目前正在使用:

代码语言:javascript
复制
for x in mylist:
    self.my_new_list.append(((x[1]),(x[0])))

有没有更好或更快的方法?

EN

回答 2

Stack Overflow用户

发布于 2016-02-20 01:39:52

您可以像这样使用reversed

代码语言:javascript
复制
tuple(reversed((1, 2)) == (2, 1)

要将其应用于列表,您可以使用map或列表/生成器理解:

代码语言:javascript
复制
map(tuple, map(reversed, tuples))     # map
[tuple(reversed(x)) for x in tuples]  # list comprehension
(tuple(reversed(x)) for x in tuples)  # generator comprehension

如果您主要对运行时速度感兴趣,我只能建议您分析各种方法并选择最快的方法。

票数 11
EN

Stack Overflow用户

发布于 2018-08-09 04:59:08

一种奇特的方式:

代码语言:javascript
复制
[t[::-1] for t in mylist]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13384841

复制
相关文章

相似问题

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