Python学习之路|从一个列表删除另外列表中的元素

这篇博客探讨了如何在Python中从一个列表中删除另一个列表包含的元素,涉及if条件和for循环。通过实例展示了当元素重复时,单纯使用循环无法彻底删除所有匹配项,而将列表转换为集合进行操作可以解决问题。
摘要由CSDN通过智能技术生成

1、问题引入

今天学习if函数后,想写点什么记录下来,但如果只是简单记录单纯的语法感觉并没有啥实际意义(还不如直接看官网或者百度),还是接上节的问题继续衍生下去

2、思考过程

假设我有两个列表,但我想把A列表中的元素从B列表中删除,应该怎么实现?

evens = []
for even1 in range(0,20,2): # 添加一个偶数列表
    evens.append(even1)

nums = []
for num1 in range(-10,10): # 添加一个实数列表
    nums.append(num1)

for even2 in evens:
    if even2 in nums:  # 如果偶数在实数列表中,则删除
        nums.remove(even2)
        print(f"需要被清除的对象:{even2}")
    else: # 如果偶数不在实数列表中,则打印出来
        print(f"{even2}不在列表中")
print()
print(f"已清除正偶数,实数列表中还剩下:{nums}")

需要被清除的对象:0
需要被清除的对象:2
需要被清除的对象:4
需要被清除的对象:6
需要被清除的对象:8
10不在列表中
12不在列表中
14不在列表中
16不在列表中
18不在列表中
已清除正偶数,实数列表中还剩下:[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 3, 5, 7, 9]

那么如果实数列表中有重复数据,如果按照上面的代码,结合上一节的分析知道,只能删除前面的元素,后面有的元素就删除不了

evens = []
for even1 in range(0,20,2): # 添加一个偶数列表
    evens.append(even1)

nums = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值