比较两组之间的每个元素?

Gad*_*ddi 3 python set

我想比较两组数据

set1 = [a,b,c,d,e,f] set2 = [a,c,e]

我怎么会去找出哪些变量从set2set1那么其输出到另一组显示的结果?

Pad*_*ham 8

使用交集:

set2.intersection(set1)
Run Code Online (Sandbox Code Playgroud)

或者set(set2).intersection(set1)如果你确实有一个清单.

基于你的评论可能是一个字典,其中值是布尔值,基于set1中的每个元素是否在交集中:

set1 = ["a","b","c","d","e","f"]
set2 = ["a","c","e"]

inter = set(set2).intersection(set1)

vals = {k:k in inter for k in set1}

print(vals)
{'a': True, 'c': True, 'b': False, 'e': True, 'd': False, 'f': False}
Run Code Online (Sandbox Code Playgroud)

如果你想要的只是一个映射,那么从set2创建一个集就足够了:

set1 = ["a","b","c","d","e","f"]
set2 = ["a","c","e"]

st2 = set(set2)

vals = {k: k in st2 for k in set1}
Run Code Online (Sandbox Code Playgroud)

或者为共同和不同的元素获得两组:

st2 = set(set2)

inter = st2.intersection(set1)

diff = st2.difference(set1)
Run Code Online (Sandbox Code Playgroud)

  • 或者,使用语法糖:`set(set1)&set(set2)`. (2认同)