【发布时间】:2018-03-03 01:21:20
【问题描述】:
本质上,我需要从映射到另一个间隔列表的值列表创建一个新的列表列表。其中一些值实际上落在区间中的两个子列表的范围内。例如,25 介于 [0,30] 和 [20,55] 之间。然而,一个整数值(例如 91)只落在一个子列表 [75,100] 的范围内。我想创建一个新列表,其中每个值都映射到区间列表,但我希望这些值与区间列表分开。
intervals = [[0,30], [20,55], [45,80], [75,100]]
values = [25, 51, 53, 83, 91]
现在我的代码如下:
maplist = [[]]
for i in values:
for j in intervals:
if(i >= j[0]) and (i <= j[1]):
maplist.append(i)
print(maplist)
这输出到: [[], 25, 25, 51, 51, 53, 53, 83, 91]
因此,如您所见,它输出 25 两次、51 两次和 53 两次,因为这些值位于各个子列表之间。 83和91只落在[75-100]之间
我希望输出是:
[[25], [25,51,53], [51,53], [83,91]]
这意味着每个值都将映射到列表的间隔列表。任何帮助将不胜感激。
【问题讨论】:
标签: python list nested-lists