gpt4 book ai didi

python - 如何在 Python 中删除列表的范围(子部分)?

转载 作者:太空狗 更新时间:2023-10-29 17:17:43 25 4
gpt4 key购买 nike

我有一个简单的、始终连续排序的列表,如下所示:

all = [ 1, 2, 3, 4, 5, 6 ] # same as range( 1, 7 )

我还有 current = 4。最后我希望 all 列表看起来像这样

altered = [ 1, 2, 5, 6 ]

所以发生的事情是它删除了当前 号码和它之前的号码 3

current 也可以是 10,所以我想确保它不会为这两个值引发错误。

对于异常current = 0,修改后的列表是这样的

altered = [ 1, 2, 3, 4, 5 ]

这意味着 current = 0 只是删除了最后一个数字。

我觉得你可能可以用生成器编写一些花哨的代码,但我不擅长编写它们。

提前致谢!

在一行中执行此操作的

奖励积分。如果 current = 0 太麻烦,那么也可以是 current = -1current = 7

编辑:确保检查current = 1,这应该是

altered = [ 2, 3, 4, 5, 6 ]

最佳答案

all = all[:max(current - 2, 0)] + all[current:]

del all[max(current - 2, 0):current]

关于python - 如何在 Python 中删除列表的范围(子部分)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10084517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com