Python 如何获得此输出?
我正在学习python。我有一个关于python中列表的问题。如何解决这个问题 我尝试过使用for循环和double操作符,但都不起作用Python 如何获得此输出?,python,Python,我正在学习python。我有一个关于python中列表的问题。如何解决这个问题 我尝试过使用for循环和double操作符,但都不起作用 lst = ['mango', 'apple', 'beans', 'garlic'] lst1 = ['mango', 'apple'] 我想要这个输出 lst2 = ['beans', 'garlic'] 请尝试以下代码: a = [i for i in lst if i not in lst1] 输出: ['beans', 'garlic'] 如
lst = ['mango', 'apple', 'beans', 'garlic']
lst1 = ['mango', 'apple']
我想要这个输出
lst2 = ['beans', 'garlic']
请尝试以下代码:
a = [i for i in lst if i not in lst1]
输出:
['beans', 'garlic']
如果您不关心最终结果的顺序,可以使用集合减法
>>> set(lst) - set(lst1)
{'garlic', 'beans'}
>>>
使用集合获取差异,然后转换回列表
list(set(lst)-set(lst1))
另一种方法是使用异或运算符:
set(lst) ^ set(lst1)
lst2=[x代表lst中的x,如果x不在lst1]集合(lst)。差异(lst1)@kiner_shah difference()接受任何iterable@jandob,明白了!:-)它如何解决使用两个for循环而不在集合中转换的问题