Python – 交替从后方迭代
介绍
使用Python实现交替的从后方迭代涉及到对列表数据结构和循环结构的基本使用。这个问题应用了简单的数学技巧,允许我们确定要打印的偶数,并从后方打印交替的数字。Python语言中可用的数据结构有列表、元组和字典。它为用户提供了通过不同类型的数据结构进行迭代的功能。最常用的是使用for循环迭代列表或元组。
交替的后向迭代
在本文中,迭代是从给定列表的末尾或后方进行的,与从前方迭代相比效率更高。
方法
方法1 – 使用for循环
方法2 – 使用切片方法
方法3 – 使用lambda函数
方法1:使用for循环进行交替的后向迭代的Python程序
range()函数声明了三个参数,分别是给定列表的长度-1,表示列表的最后一个索引,第二个参数是-1,表示迭代不应超过起始位置,最后一个参数是-1,表示我们要向后移动。
算法
- 步骤1 - 初始化列表为整数元素。
-
步骤2 - 初始化空列表。
-
步骤3 - 使用for循环从后方迭代列表的每个元素。
-
步骤4 - 使用len()函数确定列表的长度,并使用range()函数维护元素的范围。
-
步骤5 - 然后使用print语句返回后向迭代后的元素列表。
示例
#initializing the list with integer elements
list_1 = [1,2,3,4,5,6,8]
#initializing the empty list
alternate_list = []
#for loop is used to iterate through the loop from the rear using the range() and len() function
for a in range(len(list_1)-1,-1,-2):
alternate_list.append(list_1[a])
#returns the elements of the list iterated from the rear
print("Alternate rear iteration:", alternate_list)
输出
Alternate rear iteration: [8, 5, 3, 1]
方法二:使用切片方法进行逆向迭代的Python程序
切片方法用于以步长-1移动字符串。而不是从左到右迭代,采用这种方法。
算法
- 步骤1 —提示用户输入值,并使用split()函数将输入的整数拆分为单独的元素。
-
步骤2 —给定的字符串只需经过切片方法来反转给定的字符串。
-
步骤3 —然后使用打印语句返回字符串的反转字符。
示例
#The user is prompted to enter the integers with proper spaces
#split() function is used to split the given strings into separate ones
list1 = [1, 2, 3, 5, 7, 9, 4]
list1 = [int(a) for a in list1]
#The list of elements given by the user and the string is reversed using the slicing method
alternate_list = list(reversed(list1[::2]))
#printing statement will return the given input in a reversed alternate order
print("Alternate rear iteration:", alternate_list)
输出
Alternate rear iteration: [4, 7, 3, 1]
方法3:使用lambda函数进行后续交替迭代的Python程序
对于函数,我们使用def函数,但对于匿名函数,我们可以使用lambda函数加上key参数。lambda函数通常与filter()或map()函数一起使用。
算法
- 步骤1: 提示用户输入整数值以及空格,并将其存储在名为list1的变量中。
-
步骤2: 使用split()函数,将输入的整数拆分为单独的元素。
-
步骤3: 使用列表推导将给定的字符串值转换为整数数据类型。
-
步骤4: 由于filter函数总是与lambda函数一起使用,它从后面筛选给定的元素列表。
-
步骤5: 使用key参数“m”来检查它是否是偶数。
-
步骤6: 然后使用reversed()函数将转换后的输入字符串反转以进行后续迭代的过程。
-
步骤7: 然后使用print语句返回后续迭代后的元素列表。
示例
#The user is prompted to enter the integers with proper spaces
#split() function is used to split the given strings into separate ones
list1 = [1, 2, 3, 5, 7, 9, 4]
list1 = [int(a) for a in list1]
#lambda function is used to get the alternate rear iteration using filter() and map() function
alternate_list = list(filter(lambda m: list1.index(m) % 2 == 0, reversed(list1)))
#printing statement will return the given input in a reversed alternate order
print("Alternate rear iteration:", alternate_list)
输出结果
Alternate rear iteration: [4, 7, 3, 1]
结论
在当前世界中,处理数据是对于具有大量数据的组织来说最具挑战性的任务,而随着数据科学和机器学习的发展,访问数据变得更加容易。Python是一种通用且高级的语言,用户可以轻松理解。