Il s'agit de la fonction d'impression de toutes les valeurs dans une liste imbriquée (tirée de Head first avec Python).
def printall(the_list, level):
for x in the_list:
if isinstance(x, list):
printall(x, level=level + 1)
else:
for tab_stop in range(level):
print("\t", end='')
print(x)
La fonction fonctionne correctement.
La fonction imprime essentiellement les valeurs dans une liste et s'il existe une liste imbriquée, elle l'imprime par un espace de tabulation.
Juste pour une meilleure compréhension, qu'est-ce que end=' '
faire?
J'utilise Python 3.3.5
Pour 2,7
f = fi.input( files = 'test2.py', inplace = True, backup = '.bak')
for line in f:
if fi.lineno() == 4:
print line + '\n'
print 'extra line'
else:
print line + '\n'
à partir de 2.6 fileinput ne prend pas en charge avec. Ce code ajoute 3 lignes supplémentaires et imprime le texte ajouté sur la 3ème nouvelle ligne. puis ajoute 16 autres lignes vides.
La valeur par défaut de end
est \n
, Ce qui signifie qu'après l'instruction print
, elle imprimera une nouvelle ligne. Donc, simplement dit end
est ce que vous voulez imprimer après l'exécution de l'instruction print
Par exemple: - print ("hello",end=" +")
affichera hello +
Voir la documentation de la fonction d'impression: print ()
Le contenu de end
est imprimé après la chose que vous souhaitez imprimer. Par défaut, il contient une nouvelle ligne ("\n"
) mais il peut être changé en autre chose, comme une chaîne vide.