我在python& amp;我不知道以下这行是用于什么的?这是一个布尔值?(对于& if in a sentence?)如果有人知道,请解释。感谢
taken_match = [couple for couple in tentative_engagements if woman in couple]
###
for woman in preferred_rankings_men[man]:
#Boolean for whether woman is taken or not
taken_match = [couple for couple in tentative_engagements if woman in couple]
if (len(taken_match) == 0):
#tentatively engage the man and woman
tentative_engagements.append([man, woman])
free_men.remove(man)
print('%s is no longer a free man and is now tentatively engaged to %s'%(man, woman))
break
elif (len(taken_match) > 0):
...
答案 0 :(得分:2)
Python有一些很好的语法可以快速创建列表。你在这里看到的是列表理解 -
taken_match = [couple for couple in tentative_engagements if woman in couple]
taken_match将成为女人所在夫妻的所有夫妻的列表 - 基本上,这会过滤 所有情侣女人不在这对夫妇中。
如果我们在没有列表理解的情况下写出来:
taken_match = []
for couple in couples:
if woman in couple:
taken_match.append(couple)
正如你所看到的那样..列表理解更酷:)
在那一行之后,你正在检查taken_match的长度是否为0-如果是,那么就没有找到那个女人的夫妻,所以我们加入了男人和女人之间的约会,然后继续。如果您有任何其他不明白的行,请随时提问!