小编Pla*_*pus的帖子

查找列表中的匹配项和不匹配项

我对Python很陌生,并且对于你能做什么和不能用列表做些什么感到困惑.我有两个要比较的列表,并以二进制格式返回匹配和非匹配元素.List1长度恒定,而长度List2不同(但总是短于List1).

例如:

List1 = ['dog', 'cat', 'pig', 'donkey']
List2 = ['dog', 'cat', 'donkey']
Run Code Online (Sandbox Code Playgroud)

需要输出:

List3 = [1, 1, 0, 1]
Run Code Online (Sandbox Code Playgroud)

我到目前为止的代码是:

def match_nonmatch(List1, List2):
    List3 = []
    for i in range(len(List1)):
        for j in range(len(List2)):
            if List1[i] == List2[j]:
                List3.append(1)
            else:
                List3.append(0)
   return List3
Run Code Online (Sandbox Code Playgroud)

我可以在比较列表时返回匹配项,但是当我包含上面显示的else语句以返回不匹配时,我最终会得到一个比它应该更长的列表.例如,当我使用比较60个项目的列表时,我得到一个包含3600个项目而不是60个项目的列表.

我很感激,如果有人可以向我解释我的代码目前的问题,并建议我如何修改代码,以便它做我想要的.

python

6
推荐指数
3
解决办法
2万
查看次数

标签 统计

python ×1