我想确定一个列表中是否包含某个字符串,因此我使用了生成器表达式,代码如下:
g = (s for s in myList if s == myString)
any(g)
当然我想要内联这个东西,于是我这样做:any((s for s in myList if s == myString))
我认为如果使用单括号会更好看,所以我尝试:
any(s for s in myList if s == myString)
我并不指望它能正常工作。惊奇吧,它居然工作了!
那么这是合法的Python代码还是只是我的实现可以允许的? 如果是合法的,这里的一般规则是什么?
my_string in my_list
,但是它无法找到一个存在的字符串。我得出结论它执行的是对象比较而不是值比较,而我需要的是值比较。我会再检查一遍。 - Ari