jak*_*rah 3 python list nested-lists
基本上,我需要从值列表创建一个新的列表列表,该列表映射到另一个间隔列表.这些值中的一些实际上落在间隔中的两个子列表的范围内.例如,25落在[0,30]和[20,55]之间.然而,诸如91的整数值仅落在一个子列表[75,100]的范围内.我想创建一个新列表,其中每个值映射到间隔列表,但我希望这些值与间隔列表分开.
intervals = [[0,30], [20,55], [45,80], [75,100]]
values = [25, 51, 53, 83, 91]
Run Code Online (Sandbox Code Playgroud)
现在我的代码如下:
maplist = [[]]
for i in values:
for j in intervals:
if(i >= j[0]) and (i <= j[1]):
maplist.append(i)
print(maplist)
Run Code Online (Sandbox Code Playgroud)
输出:[[],25,25,51,51,53,53,83,91]
因此,正如您所看到的,它输出25次,51次两次和53次两次,因为这些值落在各个子列表之间.83和91仅介于[75-100]之间
我希望输出为:
[[25], [25,51,53], [51,53], [83,91]]
Run Code Online (Sandbox Code Playgroud)
这意味着每个值都将映射到列表的间隔列表.任何帮助将不胜感激.
列表理解?
>>> [[v for v in values if a <= v <= b] for a, b in intervals]
[[25], [25, 51, 53], [51, 53], [83, 91]]
Run Code Online (Sandbox Code Playgroud)