在 Python 中的列表中删除多个元素
要从 Python 列表中删除多个值,我们可以删除列表的实际值或要从列表中删除的值的索引。我们可以使用 if...else
控制语句、列表推导式、列表切片和 for
循环从 Python 中的列表中删除多个元素。
使用 if...else
控制语句从列表中删除多个元素
如果值满足特定条件,我们可以使用 if...else
控制语句从 Python 中的列表中删除多个值。如果元素的索引满足特定条件,也可以删除元素。
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
print("Original list : ", list1)
for ele in list1:
if (ele % 2) != 0:
list1.remove(ele)
print("List after deleting all values which are odd : ", list1)
输出:
Original list : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
List after removing all the odd values : [2, 4, 6, 8, 10, 20]
在这里,我们有一个整数列表,需要从列表中删除具有奇数值的元素。在这种情况下,我们循环遍历所有列表 l1
元素,如果元素具有奇数值,则使用 remove()
方法从列表中删除该元素。
使用 Python 中的列表推导方法从列表中删除多个元素
在 Python 中,列表推导是指从现有列表生成新列表的过程。列表推导式也可用于从列表中删除多个元素。我们可以通过从原始列表中删除要删除的值来创建一个新列表。
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
l2 = [x for x in l1 if x % 2 == 0]
print("Original list : ", l1)
print("List after deleting all the odd values present in List : ", l2)
输出:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after deleting all the odd values present in List : [2, 4, 6, 8, 10, 20, 80]
在这里,我们从列表 l1
中创建列表 l2
,该列表仅包含 l1
中的所有偶数值。换句话说,我们可以说我们通过删除列表 l1
中的所有奇数值,从现有列表 l1
创建了一个新列表 l2
。
使用列表切片从列表中删除多个元素
我们还可以使用 List 切片方法从列表中删除多个元素。在这里,我们可以在 del
方法中放置从要从列表中删除的元素的起始索引到最后一个索引的元素范围。
我们没有在 del
方法中使用单个索引,而是使用从要从列表中删除的元素的开始到最后一个索引的一系列值。它将从列表中删除连续元素。我们必须注意,对于列表,Python 中值的索引从 0
开始。
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
del l1[2:5]
print("List after removing values at index 2, 3 and 4 : ", l1)
输出:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 2, 3 and 4 : [1, 2, 6, 7, 8, 9, 10, 20, 80, 99]
它使用 del
方法从列表 l1
中删除索引 2
、3
和 4
处的值。
这里要注意的一件重要事情是第一个索引 2
是包含的,即列表 3
中索引 2
处的元素被删除,而最后一个索引是独占值,这意味着列表中索引 5
处的元素 6
不会被删除。
使用 for
循环从列表中删除多个元素
我们还可以使用 for
循环从列表中删除多个元素。
要应用此方法,我们必须存储要从列表中删除的元素的索引。但是随机删除元素将导致更改索引的值。我们的聪明策略是删除在列表中位置更大的元素。所以其他索引处元素的值不会改变。现在,我们将按降序对列表进行排序,以首先删除索引较高的元素。这种方法的代码如下所示。
l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
print("Original list : ", l1)
indexes_to_be_removed = [0, 2, 5]
for idx in sorted(indexes_to_be_removed, reverse=True):
del l1[idx]
print("List after removing values at index 0, 2 and 5: ", l1)
输出:
Original List : [2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 80, 99]
List after removing values at index 0, 2 and 5: [3, 5, 6, 8, 9, 10, 20, 80, 99]
它使用 del
方法从列表 l1
中删除索引 0
、2
和 5
处的值。
相关文章
如何在 Python 中获取一个列表的平均值
发布时间:2023/12/18 浏览次数:142 分类:Python
-
本教程将演示如何在 Python 中使用 statistics.mean 获得一个给定列表的平均值。本教程介绍了如何在 Python 中计算一个列表的平均数。
在 Python 中将字典转换为列表
发布时间:2023/12/18 浏览次数:54 分类:Python
-
本文介绍如何在 Python 中将字典转换为列表。Python 中的字典是由键-值对组合而成。在 key 的帮助下,你可以访问字典里面的值。
从 Python 列表中删除某元素的所有出现
发布时间:2023/12/18 浏览次数:163 分类:Python
-
在本文中,我们将看到如何在 Python 中从一个 List 中删除一个元素的所有出现。在 Python 中,列表允许同一个元素多次出现。即使一个元素的值可能与其他元素相同
在Python中将十六进制转换为字节
发布时间:2023/12/18 浏览次数:153 分类:Python
-
本教程介绍了如何在Python中将十六进制值转换为字节文字。十六进制,通常简写为hex,使用16个符号(0-9,a-f)表示值,与十进制的10个符号形成对比。例如,十进制中的1000在十六进制中是3E8。
Python 中字符串前面的 b
发布时间:2023/12/18 浏览次数:175 分类:Python
-
b 表示法用于在 Python 中指定字节字符串。在 Python 中使用 b" 语句 b" 表示法用于在 Python 中指定 bytes 字符串。
如何在 Python 中把整型转换为二进制
发布时间:2023/12/18 浏览次数:148 分类:Python
-
本教程将演示如何在 Python 中把整数转换成二进制。本教程介绍了如何在 Python 中把一个整数转换成二进制。本教程还列出了一些示例代码,以阐述在 Python 中从 int 到二进制的不同转换方式。
如何将整型 int 转换为字节 bytes
发布时间:2023/12/18 浏览次数:117 分类:Python
-
本贴士介绍了在 Python 2.7 及 Python 3 中如何将整型 int 转换为字节 bytes。将整型 int 转换为字节 bytes 是将字节 bytes 转换为整型 int 的逆操作,本文中介绍的大多数的 int 到 bytes 的方法都是 bytes 到
Python 中如何将字节 bytes 转换为整数 int
发布时间:2023/12/18 浏览次数:56 分类:Python
-
本贴士介绍了 Python2 以及 3 中如何将 bytes 或者 bytes 数组转换为整数Bytes 数据类型的数值范围为 0~255(0x00~0xFF)。
如何在 Python 中从一个字符串中删除标点符号
发布时间:2023/12/18 浏览次数:85 分类:Python
-
本文介绍了在 Python 中从字符串中删除标点符号的方法。本教程讨论了在 Python 中从字符串中删除标点符号的方法。这是 NLP 预处理和清理文本数据时特别有用的一步。