python - 一次对两个元素进行分组

标签 python string list dictionary

我有一个数据列表,我需要一次对两个元素执行分组操作。我尝试自己做,但需要太多时间。我有一个很大的列表,所以我需要一种更快的方法。

这是一个示例输入:

lst = [["title1","content1"],["title2","content2"],["title3","content3"],["title4","content4"],["title5","content5"]]

这是一个示例输出:

lst = [["title1","content1 content2"]["title3","content3 content4"],["title5","content5"]]

最佳答案

您可以使用zip_longest()一次处理两个元素:

from itertools import zip_longest
result = [[first, ' '.join([second, fourth])] if fourth is not None else [first, second]
    for (first, second), (_, fourth) in zip_longest(lst[0::2], lst[1::2], fillvalue=(None, None))]

输出:

[['title1', 'content1 content2'], ['title3', 'content3 content4'], ['title5', 'content5']]

关于python - 一次对两个元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71919922/

相关文章:

java - 将字符串解析为小数点后两位以进行加倍

python - 服务器抛出异常而不是显示 "database does not exist"

python - 来自 swagger-server 的 JSON 响应在单引号中收到,机器人框架验证失败,因为 json.loads 失败

Python 更新函数内的值并重用它

python - while 循环不起作用/永远循环 |初学者问题

python - 如何在两个具有相同元素的 Python 列表上执行 MYSQL INNER JOIN?

string - 如何在 cassandra 中对列值进行连接和子字符串化

java - 进行字符串替换时的临时占位符...(Java,但通用解决方案很有用)

python - 使用递归反转列表不会给出预期的输出

arrays - Kotlin 中使用 For 循环将 Int 数组元素插入 String 列表的问题(使用了 toString)