当前位置: 首页 > 面试题库 >

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

孟俊发
2023-03-14
问题内容

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

[('foo','bar'),('foo1','bar1'),('foofoo','barbar')]

python(在非常低的cpu / ram机器上运行)交换值的最快方法是什么…

[('bar','foo'),('bar1','foo1'),('barbar','foofoo')]

当前使用:

for x in mylist:
    self.maynewlist.append((_(x[1]),(x[0])))

有更好或更快速的方法吗???


问题答案:

您可以使用地图:

map (lambda t: (t[1], t[0]), mylist)

或列表理解:

[(t[1], t[0]) for t in mylist]

列表理解是首选方法,并且在需要lambda时,它比map快得多。但是请注意,列表理解具有严格的评估标准,也就是说,如果担心内存消耗,它将在绑定到变量后立即对其进行评估。
生成器

g = ((t[1], t[0]) for t in mylist)
#call when you need a value
g.next()


 类似资料:
  • 问题内容: 我有一个这样的元组列表: 而且我需要将所有元组的交集合并起来。 那就是相交的元组是迭代地联合的。 我试图将元组转换为集合,然后采用交集,但没有用。任何想法? 问题答案: 这是网络问题,使用

  • 我正在尝试将列表转换为元组。 Google上的大多数解决方案提供以下代码: 但是,当我运行代码时,它会产生一条错误消息: TypeError:“tuple”对象不可调用 我如何解决这个问题?

  • 问题内容: 我正在尝试将嵌套列表列表转换为Python 3.3中的元组列表。但是,似乎我没有这样做的逻辑。 输入如下所示: 所需的输出应如下所示: 问题答案: 只需使用列表理解即可: 演示:

  • 问题内容: 有没有比在Python中交换两个列表元素更快的方法了 还是我不得不求助于Cython或Weave之类? 问题答案: 看起来Python编译器使用此构造优化了临时元组: 码: 输出: 两个加载,一个和两个保存,而三个加载和三个保存。您不太可能找到更快的机制。

  • 本文向大家介绍字典到Python中的元组转换列表,包括了字典到Python中的元组转换列表的使用技巧和注意事项,需要的朋友参考一下 将集合类型从一种类型转换为另一种类型是python中非常常见的需求。在本文中,我们将看到如何根据字典中存在的键值对创建元组。每个键值对都成为一个元组。因此,最终列表是一个元素为元组的列表。 用 我们起诉字典的items方法,该方法使我们可以遍历每个键值对。然后,我们使

  • 问题内容: 我已经编写了此函数,用于将元组列表转换为列表列表。有没有更优雅的/ Pythonic的方式来做到这一点? 问题答案: 您可以使用列表推导: