如何使用数组纠正此循环

时间:2019-01-06 01:36:13

标签: python

如果标题中提到了数组中的任何关键字,请不要单击标题。如果标题未提及任何关键字,请单击标题。

现在它一直都在单击,我知道为什么,但是我不知道如何解决。它总是单击,因为它遍历整个数组,并且最终有一个不在标题中的关键字。想法?

ImageUtilities.loadImage()

这不应该单击标题,因为标题中有arr [2]

2 个答案:

答案 0 :(得分:1)

如果只希望打印或不打印整个数组,则可以将any用于理解:

if any(word in title for word in arr):
    print("dont click")
else:
    print("click")

实际上,代码的读法与您对问题的描述类似:

  

如果标题中提到了数组中的任何关键字

答案 1 :(得分:0)

在不需要索引变量时使用它们是非Python的。这里不需要range。 (顺便说一句,stop参数是您不需要想要的第一个数字,就像列表切片一样。)

arr = ["bunny", "watch", "book"]

title = ("The book of coding. (e-book) by Seb Tota").lower()
for s in arr:
    if s in title:
        print "dont click"
        break
else:
    print "click"

Python在搜索第一个答案时允许for循环中的else子句,但在不中断循环时仍需要默认值。但是,您实际上可以在一行中实际完成此“查找优先”模式。

print next(("dont click" for s in arr if s in title), "click")