Pythonany()和zip()内置函数解释?

我在codingame.com 上玩一些代码冲突,看到了某人的代码,但不太明白。

目标是检查连续字符串中是否有任何双字符。所以字符串“Hello”应该返回True,因为连续的双“l”。但是字符串 "Mama" 应该返回 False,因为字符 "a" 并不在后面。

有人可以解释一下这段代码吗?

w="Hello".lower()
print(str(any(c==k for c,k in zip(w[:-1],w[1:]))).lower())

这是我的代码

w = "Hello"
f = False
for i, c in enumerate(w):
    if i + 1 < len(w):
        if c.lower() == w[i+1].lower():
            print("true")
            f = True
            break
if not f: print("false")

回答

zip创建像此表中的 4 列这样的对。(第一个和最后一个表列不成对,它们不算数):

h  e  l  l  o  -  # original string in lower case
-  h  e  l  l  o  # same string shifted one position
-----------------
-  F  F  T  F  -  # equal? (False/True)

any返回True如果发现有什么真正的(布尔意义上的)。否则返回False。在这里它True在看到第三个值后返回。


以上是Pythonany()和zip()内置函数解释?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>