在 Python 中从列表中删除每个第 N 个元素
Remove every Nth element from a List in Python
使用列表切片从列表中删除每个第 N 个元素,例如
del my_list[::2]
. 方括号之间的值是step
可用于从列表中删除每个第 N 个元素的值。
主程序
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # ✅ remove every third element from list (starting at N - 1) n = 3 del my_list[n - 1::n] print(my_list) # 👉️ [1, 2, 4, 5, 7, 8] # ------------------------------------------- my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # ✅ remove every second element from list (starting at 0) del my_list[::2] print(my_list) # 👉️ [2, 4, 6, 8] # ------------------------------------------- my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # ✅ remove every third element from list (starting at 0) del my_list[::3] print(my_list) # 👉️ [2, 3, 5, 6, 8, 9] # -------------------------------------------- # ✅ remove every second element from list starting at specific index my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] del my_list[2::2] # 👇️ removed 3, 5, 7, 9 print(my_list) # 👉️ [1, 2, 4, 6, 8]
我们使用
带有列表切片的del 语句从列表中删除每个第 N 个元素。
该del
语句可用于按索引删除一个或多个列表元素。
主程序
my_list = [1, 2, 3] del my_list[0] print(my_list) # 👉️ [2, 3] del my_list[1] print(my_list) # 👉️ [2]
我们可以使用
del
带有列表切片的语句从列表中删除每个第 N 个元素。如果您需要从列表中从第 N 个元素开始删除每个第 N 个元素,例如从列表中删除每个第三个元素,从第三个元素开始,请指定start
索引。
主程序
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] n = 3 del my_list[n - 1::n] print(my_list) # 👉️ [1, 2, 4, 5, 7, 8]
start
索引是,所以我们从第n - 1
N 个元素开始删除元素。
如果要从 index 开始的列表中删除每个第 N 个元素0
,请省略start
索引。
主程序
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # ✅ remove every second element from list del my_list[::2] print(my_list) # 👉️ [2, 4, 6, 8]
列表切片的语法是my_list[start:stop:step]
. 索引的值
start
是包含的,而stop
索引的值是不包含的。
要从列表中删除第 N 个元素,我们只需指定一个step
值。
当省略
start
和stop
索引时,切片从列表的开头(索引0
)开始,一直到结尾。该step
值2
在上面的示例中设置为,因此我们删除索引0
, 2
, 4
,6
等处的列表项。
换句话说,我们从列表中每隔一个元素删除一次,从 index 开始
0
。
如果step
设置为3
,则列表切片选择每隔三个列表项。
主程序
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] del my_list[::3] print(my_list) # 👉️ [2, 3, 5, 6, 8, 9]
该step
值设置为3
,因此我们删除索引0
、3
、
6
、9
等处的列表项。
当
start
索引被省略时,我们开始从 index 处的列表中删除项目0
。如果要从特定索引开始的列表中删除每个第 N 个元素,请为该start
索引提供一个值。
这是一个从索引开始2
并从列表中每隔一个元素删除的示例。
主程序
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] del my_list[2::2] # 👇️ removed 3, 5, 7, 9 print(my_list) # 👉️ [1, 2, 4, 6, 8]
列表切片从索引开始2
,我们每隔一个项目删除一次(2
, 4
,
6
等)。