Skip to main content
 首页 » 编程设计

python之创建包含列表 x 但不包含列表 y 中与列表 x 相同的元素的新列表之python

2025年05月04日11softidea

我知道之前已经讨论过这个问题,而且我知道这是一个新手和简单的问题,但出于某种原因,我无法理解执行此操作所需的代码。这是我需要这个的实际示例:

假设我有一个 tumblr 帐户,我关注了 5 个人,其中有 3 个人关注我。

iFollow = [Tom, Richard, Bob, Samantha, Kat] 
followsMe = [Samantha, Kat, Bob] 

现在,我想取消关注我关注的人,但不要再关注我。 所以在这个例子中,我想取消关注 Tom 和 Richard,因为即使我关注了他们,他们也没有关注我。我想创建一个列表:

unfollowThese = [Tom, Richard] 

我这辈子都想不出该怎么做。我知道有相交,找到共同的元素,这将输出“Bob”,似乎我想要相反的东西,我希望从我想要制作的新列表中删除两个列表中共同的元素。

即我希望从 unfollowThese 中删除 iFollow 和 followsMe 中常见的元素,因为我不想取消关注我的关注者。

谢谢。

附注如果你能想到一个更好的标题,请更改它,我想不出什么来调用它..

请您参考如下方法:

使用 list comprehensions如果顺序很重要:

unfollowThese = [ person for person in iFollow if person not in followsMe ] 

使用 sets如果项目的顺序无关紧要:

import sets 
s1 = sets.Set(iFollow) 
unfollowThese = s1.difference(followsMe)