首页 > 解决方案 > 每 3 个值创建一个包含 3 个值的列表

问题描述

我在编写这段代码时遇到了麻烦。我需要创建一个列表,每 3 个值只有 3 个值:

预期的输出必须是这样的:

output1 = [1,2,3,7,8,9,13,14,15,....67,68,69]
output2 = [4,5,6,10,11,12...70,71,72]

有什么想法我怎么能做到这一点?

标签: pythonlist

解决方案


使用两个循环——一个用于每三个一组,一个用于该组中的每个项目。例如:

>>> [i*6 + j for i in range(12) for j in range(1, 4)]
[1, 2, 3, 7, 8, 9, 13, 14, 15, 19, 20, 21, 25, 26, 27, 31, 32, 33, 37, 38, 39, 43, 44, 45, 49, 50, 51, 55, 56, 57, 61, 62, 63, 67, 68, 69]
>>> [i*6 + j for i in range(12) for j in range(4, 7)]
[4, 5, 6, 10, 11, 12, 16, 17, 18, 22, 23, 24, 28, 29, 30, 34, 35, 36, 40, 41, 42, 46, 47, 48, 52, 53, 54, 58, 59, 60, 64, 65, 66, 70, 71, 72]

推荐阅读