我有一个简单的、总是连续排序的列表,如下所示:
all = [ 1, 2, 3, 4, 5, 6 ] # same as range( 1, 7 )
我也有current = 4。最后我希望all列表看起来像这样
altered = [ 1, 2, 5, 6 ]
所以发生的事情是它删除了current数字和它之前 3的数字。
current也可以是1and 0,所以我想确保它不会对这两个值抛出错误。
除了例外current = 0,更改后的列表是这样的
altered = [ 1, 2, 3, 4, 5 ]
这意味着current = 0只需删除最后一个数字。
我觉得你可能可以用生成器编写一些花哨的东西,但我不擅长编写它们。
提前致谢!
在一行中执行此操作的奖励积分。如果current = 0太麻烦,那么它也可能是current = -1or current = 7。
编辑:确保检查current = 1,这应该是
altered = [ 2, 3, 4, 5, 6 ]