将列表拆分为python中的子列表

时间:2014-03-21 05:04:45

标签: python list

我想将以下列表拆分为三个子列表,以便每个子列表包含三个元素:

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

结果应该是:

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

2 个答案:

答案 0 :(得分: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']]

答案 1 :(得分: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']]