给定一个数字列表, 编写一个Python程序, 根据给定条件从列表中删除多个元素。
例子:
Input: [12, 15, 3, 10]
Output: Remove = [12, 3], New_List = [15, 10]Input: [11, 5, 17, 18, 23, 50]
Output: Remove = [1:5], New_list = [11, 50]
根据我们对数据的了解, 可以从Python列表中删除多个元素。就像, 我们只知道要删除的值或这些值的索引。让我们看一下基于不同场景的不同示例。
示例1:假设我们要删除列表中可以被2或所有偶数整除的每个元素。
# Python program to remove multiple
# elements from a list # creating a list
list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ] # Iterate each element in list
# and add them in variale total
for ele in list1:
if ele % 2 = = 0 :
list1.remove(ele)# printing modified list
print ( "New list after removing all even numbers: " , list1)
输出如下:
New list after removing all even numbers:[11, 5, 17, 23]
示例2:
使用列表理解
删除列表中的所有偶数元素与仅包括非偶数元素(即奇数元素)一样好。
# Python program to remove multiple
# elements from a list # creating a list
list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ] # will create a new list, # excluding all even numbers
list1 = [ elem for elem in list1 if elem % 2 ! = 0 ]print ( * list1)
输出如下:
11 5 17 23
示例3:
使用列表切片移除相邻元素
在Python代码下面, 从索引1到4删除值。
# Python program to remove multiple
# elements from a list # creating a list
list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ] # removes elements from index 1 to 4
# i.e. 5, 17, 18, 23 will be deleted
del list1[ 1 : 5 ]print ( * list1)
输出如下:
11 50
示例4:
使用列表理解
假设要删除的元素是已知的, 而不是这些元素的索引。在这种情况下, 我们可以直接消除那些元素, 而不必关心在下一个示例中将看到的索引。
# Python program to remove multiple
# elements from a list # creating a list
list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ] # items to be removed
unwanted_num = { 11 , 5 }list1 = [ele for ele in list1 if ele not in unwanted_num]# printing modified list
print ( "New list after removing unwanted numbers: " , list1)
输出如下:
New list after removing unwanted numbers:[17, 18, 23, 50]
示例5:元素索引何时已知。
尽管已知元素的索引, 但是随机删除元素会更改索引的值。因此, 始终建议先删除最大的索引。使用此策略, 较小值的索引将不会更改。我们可以以相反的顺序对列表进行排序, 并以降序删除列表中的元素。
# Python program to remove multiple
# elements from a list # creating a list
list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ] # given index of elements
# removes 11, 18, 23
unwanted = [ 0 , 3 , 4 ]for ele in sorted (unwanted, reverse = True ):
del list1[ele]# printing modified list
print ( * list1)
输出如下:
5 17 50
【如何从Python中的列表中删除多个元素(完整实现)】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python MySQL如何使用select查询(代码示例)
- Golang如何使用结构体指针(代码示例)
- JavaScript如何使用导入和导出模块(代码示例)
- 代码转换器– BCD(8421)到/从Excess-3
- Win8.1系统还原后提示Windows无法激活的处理方案
- Win8.1下载软件一直提示缺少“ATL100.DLL”文件如何处理?
- 如何查看Win8.1系统的正版授权?
- Win8.1切换窗口后输入法自动变回英文怎样办?
- Win8.1应用商店无法下载报错0x80070426的应对措施