我对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 ×1