无法将列表映射到python中的列表列表

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)

这意味着每个值都将映射到列表的间隔列表.任何帮助将不胜感激.

Ste*_*ann 6

列表理解?

>>> [[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)