创建子列表列表

Create list of sublists

我有一个包含 50,000 个整数的列表:

我想从这个大列表中创建一个子列表列表。

通过在列表中找到与列表第一个值1,000,000不同的位置来创建子列表。

下面是我的代码:

sub_pos_list = []
for i in range(0, len(pos_list)):    
    difference = pos_list[i] - pos_list[0]    
    if difference <= 1000000:
        sub_pos_list.append(pos_list[0:i])

但是,这只是抢到前1,000,000的差额。然后我想从列表中删除这个区域并重新开始。

我想创建多个相差 1,000,000 的子列表,然后制作这些子列表的列表。

有什么建议吗?

如果我理解正确你想达到什么,这就是解决方案:

sub_pos_list = []

last_found_pos = 0
for i in xrange(last_found_pos, len(pos_list)):
  difference = pos_list[i] - pos_list[last_found_pos]
  if difference >= 1000000:
    sub_pos_list.append(pos_list[last_found_pos:i + 1])
    last_found_pos = i

来自:
pos_list = [0, 5, 1000000, 1000005, 2000005]
它会给你:
sub_pos_list == [ [0, 5, 1000000], [1000000, 1000005, 2000005] ]