创建子列表列表
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] ]