我有一个这样的元组列表:
[('foo','bar'),('foo1','bar1'),('foofoo','barbar')]
在python (在cpu/ram非常低的机器上运行)中,像这样交换值的最快方法是什么?
[('bar','foo'),('bar1','foo1'),('barbar','foofoo')]
我目前正在使用:
for x in mylist:
self.my_new_list.append(((x[1]),(x[0])))
有没有更好或更快的方法?
发布于 2016-02-20 01:39:52
您可以像这样使用reversed
:
tuple(reversed((1, 2)) == (2, 1)
要将其应用于列表,您可以使用map
或列表/生成器理解:
map(tuple, map(reversed, tuples)) # map
[tuple(reversed(x)) for x in tuples] # list comprehension
(tuple(reversed(x)) for x in tuples) # generator comprehension
如果您主要对运行时速度感兴趣,我只能建议您分析各种方法并选择最快的方法。
发布于 2018-08-09 04:59:08
一种奇特的方式:
[t[::-1] for t in mylist]
https://stackoverflow.com/questions/13384841
复制相似问题