合并列表项python 3.6

2024-09-27 07:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

python列表由许多被3等分的项组成

列表如下所示:

the_list = ['ab','cd','e','fgh','i', 'jklm']

我想在整个列表中同时合并3个项目。我该怎么做(列表可以有任意数量的项,只要项的数量可以除以3)

expected_output = ['abcde', 'fghijklm']

Tags: the项目列表output数量abcdlist
2条回答

在列表理解中,您可以使用步骤3在列表长度上迭代索引时对列表进行切片:

[''.join(the_list[i:i + 3]) for i in range(0, len(the_list), 3)]

也可以从列表中创建迭代器,并使用zipitertools.repeat一次对3个项进行分组:

from itertools import repeat
i = iter(the_list)
[''.join(t) for t in zip(*repeat(i, 3))]

以上两项均返回:

['abcde', 'fghijklm']

下面是使用列表理解和range的一种方法:

output = [''.join(the_list[i:i+3]) for i in range(0, len(the_list), 3)]

相关问题 更多 >

    热门问题