【发布时间】:2023-10-03 11:02:01
【问题描述】:
我有两个 A 和 B 列表。当我在 A 中找到 B 的值时,我想删除 A 中的值。但是在 python 中没有“重做”,就会出现问题。可能有多种编码,但我想知道一个非常聪明或简单或 Python 的编码。
为此我需要“重做”,但 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 的元素。
【问题讨论】:
-
解决了我的问题。但标题有点不同,所以我找不到。