Après une certaine confusion (probablement, sinon définitivement, causée par un mauvais questionnement de ma part), j'essaie de trouver comment réaliser un code pour effectuer l'opération suivante, mais n nombre de fois :
def 1_level:
for i in list:
for j in i:
mylist.append(i)
def 2_levels:
for i in list:
for j in i:
for k in j:
mylist.append(k)
def 3_levels:
for i in list:
for j in i:
for k in j:
for l in k:
mylist.append(l)
def 4_levels:
for i in list:
for j in i:
for k in j:
for l in k:
for m in l:
mylist.apend(m)
def 5_levels:
for i in list:
for j in i:
for k in j:
for l in k:
for m in l:
for n in m:
mylist.append(n)
Mes réflexions sont les suivantes :
def prunelist(n,mylist):
if n > 0: # if n has not been reached
for i in mylist:
templist = [] #create blank list for appended items
for j in i:
templist.append(j) #append items one branch down
mylist = templist #overwrite original list
n -= 1 #reduce n by 1
prunelist(n,mylist) #perform operation again (assuming n >0)
else:
return mylist #when n is exhausted, output list
outputlist = prunelist(n,mylist) #perform operation
(Pour une explication plus décousue, voir l'édition !!!)
Santé
J-P