Python teilte eine Liste basierend auf dem Muster in Teilmengen auf

Ich mache das, aber es scheint, dass dies mit viel weniger Code erreicht werden kann. Es ist schließlich Python. Ausgehend von einer Liste habe ich diese Liste auf der Grundlage eines Zeichenfolgepräfix in Teilmengen aufgeteilt.

# Splitting a list into subsets
# expected outcome:
# [['sub_0_a', 'sub_0_b'], ['sub_1_a', 'sub_1_b']]

mylist = ['sub_0_a', 'sub_0_b', 'sub_1_a', 'sub_1_b']

def func(l, newlist=[], index=0):
    newlist.append([i for i in l if i.startswith('sub_%s' % index)])
    # create a new list without the items in newlist
    l = [i for i in l if i not in newlist[index]]

    if len(l):
        index += 1
        func(l, newlist, index)

func(mylist)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage