Skip to main content
 首页 » 编程设计

python之如何按值删除列表中的几个元素

2025年05月04日14zdz8207

<分区>

我有 A 和 B 的两个列表。当我在 A 中找到 B 的值时,我想删除 A 中的值。但是在 python 中没有“重做”,这会产生问题。可能有多种编码,但我想知道一种非常智能或简单或 pythonic 的编码。

为此我需要“重做”,但 python 没有“重做”。

A = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] 
B = ['Feb', 'Mar', 'Apr'] 
for mon in A: 
    if mon in B: 
        A.remove(mon) 
print(A) 

返回 ['Jan', 'Mar', 'May', 'Jun']

在删除 A 中的 'Feb' 后,由于 A.remove() 方法,'Mar' 被跳过。

我需要更多地解释我的情况,因为有很多种解决方案。基本上我想保留 A 因为 A 是一个长列表元素的引用。然后在许多 B 的循环中,我想从 A 中删除 B 中的那些元素。所以我需要保留 A 直到程序结束,删除属于任何 B 的元素。