如何将Python 元组进行反转 您所在的位置:网站首页 3dmax渲染黑色渲染不出来怎么办 如何将Python 元组进行反转

如何将Python 元组进行反转

#如何将Python 元组进行反转| 来源: 网络整理| 查看: 265

正如我们所知,在 Python 中,元组是不可变的,因此它不能被改变或更改。与列表不同,这为我们提供了有限的反转元组的方法。我们将通过一些技术来了解如何反转 python 中的元组。例子:

Input : tuples = ('z','a','d','f','g','e','e','k') Output : ('k', 'e', 'e', 'g', 'f', 'd', 'a', 'z') Input : tuples = (10, 11, 12, 13, 14, 15) Output : (15, 14, 13, 12, 11, 10)方法一:使用切片技术。

在这种技术中,创建了元组的副本并且元组没有就地排序。由于元组是不可变的,因此无法就地反转元组。创建副本需要更多空间来容纳所有现有元素。因此,这会耗尽内存。

# Reversing a tuple using slicing technique # New tuple is created def Reverse(tuples): new_tup = tuples[::-1] return new_tup # Driver Code tuples = ('z','a','d','f','g','e','e','k') print(Reverse(tuples))

输出:

('k', 'e', 'e', 'g', 'f', 'd', 'a', 'z')方法 二:使用 reversed() 内置函数。

在这种方法中,我们不制作元组的任何副本。相反,我们得到一个反向迭代器,我们用它来循环遍历元组,类似于列表。

# Reversing a list using reversed() def Reverse(tuples): new_tup = () for k in reversed(tuples): new_tup = new_tup + (k,) print new_tup # Driver Code tuples = (10, 11, 12, 13, 14, 15) Reverse(tuples)

输出:

(15, 14, 13, 12, 11, 10)方法三:迭代

您可以使用的另一种方法是创建一个新的空元组,然后以相反的顺序遍历原始元组,将每个元素添加到新元组中。这种方法需要创建一个新的元组并逐个添加每个元素,因此它的效率可能不如其他方法。

以下是如何使用此方法反转元组的示例:

def reverse_tuple(t): new_tuple = () for i in range(len(t)-1, -1, -1): new_tuple += (t[i],) return new_tuple tuples = ('z','a','d','f','g','e','e','k') print(reverse_tuple(tuples)) # Output: ('k', 'e', 'e', 'g', 'f', 'd', 'a', 'z')

输出

('k', 'e', 'e', 'g', 'f', 'd', 'a', 'z')方法 4:使用递归# recursive function def reverse_tuple(t): #condition checking if len(t) == 0: return t else: return(t[-1],)+reverse_tuple(t[:-1]) original_tuple = ('z','a','d','f','g','e','e','k') # function call reversed_tuple = reverse_tuple(original_tuple) print("Original Tuple: ", original_tuple) print("Reversed Tuple: ", reversed_tuple)

输出

Original Tuple: ('z', 'a', 'd', 'f', 'g', 'e', 'e', 'k') Reversed Tuple: ('k', 'e', 'e', 'g', 'f', 'd', 'a', 'z')

时间复杂度 O(n)

空间复杂度 O(n)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有