从 Python 中的列表中删除每个第 N 个元素

在 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 - 1N 个元素开始删除元素。

如果要从 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值。

当省略startstop索引时,切片从列表的开头(索引0)开始,一直到结尾。

step2在上面的示例中设置为,因此我们删除索引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,因此我们删除索引03
69等处的列表项。

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等)。

发表评论