Python |从列表中每三分之一移除并打印一次,直到列表变为空

给定一个数字列表,您的任务是从数字列表中删除并打印每三个数字,直到列表变为空。 例如:

null

输入:[10,20,30,40,50,60,70,80,90] 产量:30 60 90 40 80 50 70 10 说明: 遇到的第一个第三个元素是30,在30之后,我们从40开始计算下一个第三个元素,即60,在遇到90之后。然后,下一个第三个元素的计数从10开始,即40。以同样的方式进行,在我们得到第三个元素后,40是80。重复此过程,直到列表变为空。

输入:[1,2,3,4] 产出:3 2 4 1 说明: 遇到的第一个第三个元素是3,在3之后,我们从4开始计算下一个第三个元素,即2。然后,下一个第三个元素的计数从4开始,即4本身,最后打印最后一个元素1。

方法 列表的索引从0开始,第一个第三个元素将位于位置2。遍历,直到列表变为空,每次找到下一个第三个元素的索引并打印其相应的值。打印后缩短列表的长度。

# Python program to remove to every third
# element until list becomes empty
def removeThirdNumber(int_list):
# list starts with
# 0 index
pos = 3 - 1
index = 0
len_list = ( len (int_list))
# breaks out once the
# list becomes empty
while len_list > 0 :
index = (pos + index) % len_list
# removes and prints the required
# element
print (int_list.pop(index))
len_list - = 1
# Driver code
nums = [ 1 , 2 , 3 , 4 ]
removeThirdNumber(nums)


输出:

3
2
4
1
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享