如何在Python中创建列表列表

如何在Python中创建列表列表,python,Python,我有一个开始-结束和一个步骤,我想创建这样的列表(开始=0,结束=300,步骤=100): 开始、结束和步骤会有所不同,因此我必须动态创建列表 您只需要一个简单的while循环:- start = 0 end = 300 step = 100 my_list = [] while start < end: # Loop until you reach the end my_list.append([start + 1, start + step]) start +

我有一个开始-结束和一个步骤,我想创建这样的列表(开始=0,结束=300,步骤=100):


开始、结束和步骤会有所不同,因此我必须动态创建列表

您只需要一个简单的while循环:-

start = 0
end = 300
step = 100

my_list = []

while start < end:   # Loop until you reach the end
    my_list.append([start + 1, start + step]) 
    start += step    # Increment start by step value to consider next group

print my_list
同样的事情也可以通过
range
xrange
功能实现,在
列表理解中,您可以创建两个,并将它们一起创建:

>>> start = 0
>>> end = 300
>>> step = 100
>>> [[1 + x, step + x] for x in range(start, end, step)]
[[1, 100], [101, 200], [201, 300]]
def do_your_thing(start, end, step):
    return zip(range(start, end - step + 2, step),
               range(start + step - 1, end + 1, step))

你的名单不一致。第一次添加100,然后每隔一次添加99。第一个列表应该是
[1100]
?对不起,开始是1,本示例中的步骤是99。它会有所不同。@user1842734:请您的问题显示真实的输入和输出。black_dragon这正是我需要的。非常感谢。谢谢大家!!你太棒了!:-)
>>> start = 0
>>> end = 300
>>> step = 100
>>> [[1 + x, step + x] for x in range(start, end, step)]
[[1, 100], [101, 200], [201, 300]]
def do_your_thing(start, end, step):
    return zip(range(start, end - step + 2, step),
               range(start + step - 1, end + 1, step))