将列表中的每个元素与另一个列表中的每个元素进行比较

问题描述 投票:0回答:1

我有两个列表,words = ["hello", "how", "hello", "are", "you"]match = ["hello, "sonic"]。如何比较,如果匹配的第一个元素与单词中的第一个元素相同,并且(与第二个,第三个等相同),然后将'true'附加到另一个列表中?

因此,对于以上列表,我想要results = ["true", "false", true", "false", "false"]。我目前有以下内容,但这仅附加true,而不附加false。我知道这是因为else语句永远不会执行,因为'hello'始终位于words[]中。我知道我的成绩还差得远。

for i in match:
    if i in words:
        results.append('true')
    else:
        results.append('false')

我希望我能很好地解释它。

python list append compare
1个回答
3
投票
match = ["hello", "sonic"] words = ["hello", "how", "hello", "are", "you"] results = [w in match for w in words]

或者如果您想要字符串“ true”或“ false”

results = [str(w in match).lower() for w in words]
© www.soinside.com 2019 - 2024. All rights reserved.