从列表列表中获取具有元素的条件递增顺序的新列表

Get new list with conditional increment order of elements from list of lists

我有如下所示的整数列表:

 flst = [[19],
 [21, 31],
 [22],
 [23],
 [9, 25],
 [26],
 [27, 29],
 [28],
 [27, 29],
 [2, 8, 30],
 [21, 31],
 [5, 11, 32],
 [33]]

我想获取整数列表,如下所示:

out = [19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33]

我想将每个列表项与下一个列表中的 item/s 进行比较,并获得大于前一项的项目:

例如: 在列表中,第一项是 [19],下一个列表项是 [21,31]。两个元素都大于[19],但是[21]接近[19],所以应该选

我正在学习 python 并尝试了以下代码:

 for i in range(len(flst)-2):
    for j in flst[i+1]:
        if j in range(flst[j], flst[j+2]):
            print(j)

在 Whosebug 中查看了很多增量订单的代码,但找不到任何解决方案。

试试这个:

flst[0]=flst[0][0]
for c in range(len(flst)-1):
    flst[c+1]=sorted([n for n in flst[c+1] if n>flst[c]],key=lambda x: x-flst[c])[0]

输出(第一个):[19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33]

尽可能接近一行

func = lambda x, t=[]: ([t.append(min([i for i in c if i > max([0]+t)])) for (index, c) in enumerate(x)], sorted(t))[1]

func(flst)
[19, 21, 23, 25, 26, 27, 29, 29, 30, 31, 31, 32, 33]