Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获得此输出?_Python - Fatal编程技术网

Python 如何获得此输出?

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'] 如

我正在学习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']

如果您不关心最终结果的顺序,可以使用集合减法

>>> 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循环而不在集合中转换的问题