Das Gegenteil von Listenabflachung.Unterlisten erstellen
Gegeben eine Liste und eine Länge n geben Sie eine Liste von Unterlisten der Länge n zurück.
def sublist(lst, n):
sub=[] ; result=[]
for i in lst:
sub+=[i]
if len(sub)==n: result+=[sub] ; sub=[]
if sub: result+=[sub]
return result
Ein Beispiel:
Wenn die Liste:
[1,2,3,4,5,6,7,8]
und n:
3
Return:
[[1, 2, 3], [4, 5, 6], [7, 8]]
Gibt es einen eloquenteren/prägnanteren Weg?
Nebenbei bemerkt, was bevorzugt wird, wenn Listen Listen (im Kontext oben) anhängt:
list1+=[list2]
Oder:
list1.append(list2)
Da (nach Summerfeild des 'Programmierung in Python 3') Sie sind gleich?
Danke.
Danke unutbu, muss lachen, wie trivial das ist mit dem Listenverständnis. Unterstreicht mein Bedürfnis, sie zu studieren. In Bezug auf + = vs append, verstehe ich den Unterschied, merke ich verglich list1 + = [list2] zu list1.append (list2), nicht list1 + = list2 und list1.append (list2). Danke tolle Antwort/Diskussion. –
@Michael Puckett: Ups, ich habe den zweiten Teil Ihrer Frage falsch gelesen. Bearbeiten ... – unutbu
Danke unutbu - append ftw. :) –