分享
三行代码  ›  专栏  ›  技术社区  ›  Rosendo Ocaña

是否可以在列表理解中进行字符串连接?

  •  0
  • Rosendo Ocaña  · 技术社区  · 2 周前

    我试图连接偶数索引字符串和奇数索引字符串,只是一个列表理解,代码看起来像这样,但,都是错误的!

    s = input()
    [even+=item if index%2 == 0 else odd+=item for index,item in enumerate(s)]
    

    显然代码给了我一个无效的语法错误。

    我想知道是否有人可以帮助我,告诉我是否可以通过列表理解来做到这一点。

    谢谢!

    1 回复  |  直到 2 周前
        1
  •  1
  •   DYZ behold    2 周前

    您所要做的是不可能的(至少在Python<3.8中是这样)。无论如何,切片比列表理解更有效(而且

    even, odd = s[::2], s[1::2]
    
        2
  •  -1
  •   Aditya.Kommu    2 周前

    如果你把偶数和奇数放在同一个列表中,这将是两个值的大列表,将它们区分为“偶数”和“奇数”,然后根据需要使用它

    代码的正确语法是:

    even, odd ="",""
    odd = [odd+item for index,item  in enumerate(s) if index%2!=0 ]
    even = [even+item for index,item  in enumerate(s) if index%2==0 ]
    print(''.join(even))
    print(''.join(odd))
    

    for index,item in enumerate(s):
         if (index%2==0):
              even=even+item
         else:
             odd=odd+item
    print(even)
    

    有关列表理解示例的更多信息: https://www.programiz.com/python-programming/list-comprehension