Python列表包括多个项目的是同样由3
的分割列表如下:
the_list = ['ab','cd','e','fgh','i', 'jklm']
我想在整个列表中同时合并3个项目。我应该怎么做? (列表中可以包含任意数量的项目,只要项目的数量可以除以3)
expected_output = ['abcde', 'fghijklm']
答案 0 :(得分:2)
您可以在列表理解中以3的步长在列表长度上迭代索引时对列表进行切片:
[''.join(the_list[i:i + 3]) for i in range(0, len(the_list), 3)]
您还可以从列表中创建一个迭代器,并将zip
与itertools.repeat
结合使用,以一次将3个项目分组:
from itertools import repeat
i = iter(the_list)
[''.join(t) for t in zip(*repeat(i, 3))]
以上两种返回方式:
['abcde', 'fghijklm']
答案 1 :(得分:0)
这是使用列表理解和range
的一种方法:
output = [''.join(the_list[i:i+3]) for i in range(0, len(the_list), 3)]