簡體   English   中英

如何在Python3中按數字順序查找列表中的數字?

[英]How to find the numbers in a list that come in numerical order in Python3?

我有一個列表,像這樣:

list_1 = [1,2,2,3,1,2]

我想創建另一個嵌套列表,如下所示:

[[1,2,2,1,2],[2,2,3,2]]

第一個嵌套列表僅由1和2組成,因為根據數字順序,2在1之后,1必須包含。 3不在第一個嵌套列表中,因為1之后是2而不是3。

在第二個嵌套列表中,有2個和3個,因為3個來自2和2之后需要包含。 1不存在,因為一個人不會在2之后來。

我怎樣才能在Python 3中實現這一點?

list_1 = [1,2,2,3,1,2]

m = max(list_1)
print([[i for i in list_1 if i in [j,j+1] ] for j in range(1,m)])

#[[1, 2, 2, 1, 2], [2, 2, 3, 2]]




#list_1 = [1,2,2,3,1,2,4,2,3,6,5,4]
#->[[1, 2, 2, 1, 2, 2], [2, 2, 3, 2, 2, 3], [3, 4, 3, 4], [4, 5, 4], [6, 5]]

如果你沒有功能性的襯墊,你可以這樣做。

def listsep(lst, sep):

    l1 = []
    l2 = []

    for v in lst:
        if v <= sep:
            l1.append(v)

        if v >= sep:
            l2.append(v)


    return [l1, l2]

print(listsep([1,2,2,3,1,2], 2))

只需迭代輸入並附加到每個列表,如果小於/等於或大於/等於。 這只迭代輸入一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM