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

如何在Python中反转元组?

经博延
2023-03-14
问题内容

这可能吗?不必就位,只需寻找一种方法来反转元组,以便我可以向后迭代。


问题答案:

有两种惯用的方法可以做到这一点:

reversed(x)  # returns an iterator

要么

x[::-1]  # returns a new tuple

由于元组是不可变的,因此没有办法就地反转元组。

编辑: 在@lvc的注释的基础上,返回的迭代器reversed将等效于

def myreversed(seq):
    for i in range(len(x) - 1, -1, -1):
        yield seq[i]

也就是说,它依靠具有已知长度的序列来避免必须实际反转元组。

至于哪种效率更高,我怀疑seq[::-1]如果您都使用它,并且元组很小,而reversed当元组很大时,可能就是这样,但是在python中的性能通常令人惊讶,因此进行测量!



 类似资料:
  • 问题内容: 如何在Python中执行以下操作? 我需要一个数组的元素,但是要从头到尾。 问题答案: 你可以通过以下方式使用该函数: 请注意,它不会返回列表。你可以使用来获得反向列表。

  • 我被要求反转一个以head为参数的参数,其中as head是一个链表,例如:1- 它是这样调用的:。我编写的用于反转列表的函数给出了,并且只适用于长度为3的列表。如何将其概括为长度的列表?

  • 问题内容: Python的str对象没有内置的反向函数。实现这种方法的最佳方法是什么? 如果提供一个非常简洁的答案,请详细说明其效率。例如,str对象是否转换为其他对象等。 问题答案: 怎么样: 这是扩展切片语法。它的工作方式是通过保留和并指定步骤来反转字符串。

  • 问题内容: 我试图在Java中反转一个int数组。 此方法不会反转数组。 怎么办 问题答案: 要反转一个int数组,可以交换项直到达到中点为止,如下所示: 这样,你将每个元素交换两次,因此结果与初始列表相同。

  • 问题内容: 我想编写一个函数,该函数接收字典作为输入参数,并返回输入字典的反向函数,其中原始字典的值用作返回字典的键,而原始字典的键用作返回值。返回的字典,如下所述: 至 返回字典中的值列表应按升序排序。大小写无关紧要。这意味着所有单词都应转换为小写字母。例如,单词“准确”在原始词典中大写,但在返回的词典中,它用所有小写字母书写。 但是它返回此错误: 问题答案: 您可以像这样非常简单地进行操作:

  • 问题内容: 为什么不起作用? 问题答案: 创建所选子列表的副本,该副本由反转。这不会更改原始列表。切片Python列表始终会创建副本-您可以使用 复制整个列表。