【问题标题】:Group list of 4-strings into list of pairs将 4 个字符串的列表分组为对列表
【发布时间】:2023-02-07 03:51:18
【问题描述】:

我有以下字符串列表:

['word1 word2 word3 word4', 'word5 word6 word7 word8']

(我只展示了两个字符串,但可以有很多。) 我想创建新的列表,它看起来应该是这样的:

['word1 word2', 'word3 word4', 'word5 word6', 'word7 word8']

我试过以下:

lines = ['word1 word2', 'word3 word4', 'word5 word6', 'word7 word8']
[[word1 + ' ' + word2, word3 + ' ' + word4] for line in lines for word1, word2, word3, word4 in line.split()]

但它给出了以下错误:

ValueError: too many values to unpack (expected 4)

我如何以大多数 pythonic 方式执行此操作?

【问题讨论】:

  • 在您显示的代码中,lines 已经是您想要的输出

标签: python python-3.x


【解决方案1】:

第一:打破一切:

words = lines.split(" ")

二、对结果进行分组:

groups = [f"{words[i]} {words[i+1]}" for i in range(0, len(words), 2)]    

也可以使用正则表达式re.split一次性完成 - 但是每次都需要正则表达式中断第二空间正确,这已经完成并正在运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2019-03-21
    相关资源
    最近更新 更多