首页 > 解决方案 > 将 2 个列表的公共元素存储为 0 和 1

问题描述

我想编写一个函数 subsetOf() 来查找两个列表的公共元素,并将任何公共元素存储在单独的列表中作为 1,将任何非公共元素存储为 0。例如:

L=[2,17,12,5,66,20,7]
M =[2,12,66]

该函数应返回:

[1, 0, 1, 0, 1, 0, 0]

标签: pythonlist

解决方案


在这里您可以使用list comprehensions.

your_list = [1 if x in M else 0 for x in L]
print(your_list)
    [1, 0, 1, 0, 1, 0, 0]

函数形式:

def subsetOf(L,M):
    return [1 if x in M else 0 for x in L]

print(subsetOf(L,M))
    [1, 0, 1, 0, 1, 0, 0]

推荐阅读