将列表切换到列表列表中

时间:2014-02-23 18:09:54

标签: python python-3.x

list_of_numbers = [10.0, 12.0, 14.0, 16.0, 15.0, 13.0, 10.0, 9.2, 11.7, 14.8, 16.5, 14.8, 13.8, 10.2, 9.5, 13.0, 14.4, 17.2, 15.4, 12.5, 12.1, 10.0, 12.4, 11.9, 16.8, 15.6, 14.6, 10.4, 10.4, 11.0, 12.2, 18.8, 13.9, 12.0, 6.8, 11.2, 9.4, 12.6, 15.5, 14.0, 11.2, 12.3, 14.3, 11.7, 13.9, 13.4, 21.4, 13.7, 12.6]

在此列表中,我想创建一个列表,每个列表包含7个元素。我该怎么办? (列表中有49个元素,所以我想在其中创建一个包含7个列表的列表。顺序应该与list_of_numbers中的相同

2 个答案:

答案 0 :(得分:2)

您可以使用切片和列表理解的简单组合:

result = [list_of_numbers[i:i+7]
          for i in range(0, len(list_of_numbers), 7)]

答案 1 :(得分:1)

您可以按照以下方式使用zip:

zip(*[iter(list_of_numbers)]*7)

输出:

[(10.0, 12.0, 14.0, 16.0, 15.0, 13.0, 10.0), (9.2, 11.7, 14.8, 16.5, 14.8, 13.8, 10.2), (9.5, 13.0, 14.4, 17.2, 15.4, 12.5, 12.1), (10.0, 12.4, 11.9, 16.8, 15.6, 14.6, 10.4), (10.4, 11.0, 12.2, 18.8, 13.9, 12.0, 6.8), (11.2, 9.4, 12.6, 15.5, 14.0, 11.2, 12.3), (14.3, 11.7, 13.9, 13.4, 21.4, 13.7, 12.6)]