【问题标题】:Python any() and zip() built-in functions explanation?Python any() 和 zip() 内置函数解释?
【发布时间】:2021-07-24 11:26:13
【问题描述】:

我在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")

【问题讨论】:

    标签: python python-3.x zip any


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 2015-12-01
      相关资源
      最近更新 更多