【发布时间】:2022-01-21 21:41:19
【问题描述】:
我是编程初学者,我尝试学习 Python,但我无法为我的数据设置正确的迭代切片。 我有这个:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
我想获得这个,即我做 3 个项目的块并删除其中的一半:
a = [0, 1, 2,
6, 7, 8,
12, 13, 14,
18, 19, 20]
我尝试了一个带有 % 条件的 for 循环,但我无法设置规则来得到我想要的……我多年来没有做数学,所以这可能是一个非常愚蠢的逻辑错误……
a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18, 19, 20, 21, 22, 23]
for i in range (len(a)):
if i==0 :
a=a
elif (i-3)%6 == 0 :
a[i:i+4]=[]
else :
a=a
print(a)
非常感谢您的帮助!
【问题讨论】:
-
你能提供示例输入/输出吗?
-
请发布您的代码,以便我们查看您的尝试
-
请显示您尝试的 for 循环。
-
最简单的方法是
b = [e for (i, e) in enumerate(a) if (i % 6 < 3)] -
"我尝试了一个带有 % 条件的 for 循环,但我无法设置规则来获得我想要的东西......" 那么,你能想出一个切片来给你前三个元素吗?下三个?你能看到这些切片的样子吗?例如,如果您使用
range来生成这些切片之间不同的值,然后生成每个切片并将它们放在一起怎么办?