这可能吗?不必就位,只需寻找一种方法来反转元组,以便我可以向后迭代。
有两种惯用的方法可以做到这一点:
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列表始终会创建副本-您可以使用 复制整个列表。