1

I want to split the following list into three sublists so that each sublist will consist of three elements:

my_list = ['text1', 'text1', 'text1', 'text2', 'text2', 'text2', 'text3', 'text3', 'text3']

result should be like:

result = [['text1', 'text1', 'text1'],['text2', 'text2', 'text2'],['text3', 'text3', 'text3']]
pigletfly
  • 1,051
  • 1
  • 16
  • 32

2 Answers2

0
result = [my_list[idx:idx + 3] for idx in range(0, len(my_list), 3)]
# [['text1', 'text1', 'text1'],
#           ['text2', 'text2', 'text2'], ['text3', 'text3', 'text3']]
thefourtheye
  • 233,700
  • 52
  • 457
  • 497
0
In [31]: [filter(lambda m: m == s, my_list) for s in set(my_list)]
Out[31]:
[['text2', 'text2', 'text2'],
 ['text3', 'text3', 'text3'],
 ['text1', 'text1', 'text1']]
ssm
  • 5,277
  • 1
  • 24
  • 42