2024-09-27 07:24:27 发布
网友
python列表由许多被3等分的项组成
列表如下所示:
the_list = ['ab','cd','e','fgh','i', 'jklm']
我想在整个列表中同时合并3个项目。我该怎么做(列表可以有任意数量的项,只要项的数量可以除以3)
expected_output = ['abcde', 'fghijklm']
在列表理解中,您可以使用步骤3在列表长度上迭代索引时对列表进行切片:
[''.join(the_list[i:i + 3]) for i in range(0, len(the_list), 3)]
也可以从列表中创建迭代器,并使用zip和itertools.repeat一次对3个项进行分组:
zip
itertools.repeat
from itertools import repeat i = iter(the_list) [''.join(t) for t in zip(*repeat(i, 3))]
以上两项均返回:
['abcde', 'fghijklm']
下面是使用列表理解和range的一种方法:
range
output = [''.join(the_list[i:i+3]) for i in range(0, len(the_list), 3)]
在列表理解中,您可以使用步骤3在列表长度上迭代索引时对列表进行切片:
也可以从列表中创建迭代器,并使用
zip
和itertools.repeat
一次对3个项进行分组:以上两项均返回:
下面是使用列表理解和
range
的一种方法:相关问题 更多 >
编程相关推荐