创建子列表列表

时间:2015-05-10 23:38:47

标签: python list sublist

我有一个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个差异的多个子列表,然后列出这些子列表。

有任何建议怎么做?

1 个答案:

答案 0 :(得分:1)

如果我理解了你想要达到的目标,那就是解决方案:

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] ]