Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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,我们有两份清单: a=['1','2','3','4'] b=['2','3','4','5'] 如何获取包含在两个列表中的元素的列表: a_and_b=['2','3','4'] 以及包含仅包含在一个列表中但不包含在另一个列表中的元素的列表: only_a=['1'] only_b=['5'] 是的,我可以使用循环,但是如果顺序不重要的话,它是lame=) >>> a=['1','2','3','4'] >>> b=['2','3','4','5']

我们有两份清单:

a=['1','2','3','4']
b=['2','3','4','5']
如何获取包含在两个列表中的元素的列表:

a_and_b=['2','3','4']
以及包含仅包含在一个列表中但不包含在另一个列表中的元素的列表:

only_a=['1']
only_b=['5']

是的,我可以使用循环,但是如果顺序不重要的话,它是lame=)

>>> a=['1','2','3','4']
>>> b=['2','3','4','5']
>>> set(a) & set(b)
set(['3', '2', '4'])
只有一个

>>> set(a).difference(b) # or set(a) - set(b)
set(['1'])
只有b

>>> set(b).difference(a)  # or set(b) - set(a)
set(['5'])

简单地使用集合:

>>> a=['1','2','3','4']; b=['2','3','4','5']
>>> a = set(a)
>>> b = set(b)
>>> a & b
set(['3', '2', '4'])
>>> a - b
set(['1'])
>>> b - a
set(['5'])
>>>

您不需要强制转换来设置
。difference
参数。是的,我们不需要强制转换,但有些人可能喜欢查看单词。:)SilentGhost的意思是你可以做
set(a)。difference(b)