Si j'ai une liste d'un groupe de nombres ou de mots, quel modificateur de format dois-je utiliser pour l'afficher dans un tableau avec un espace et dix nombres / mots par ligne?
list = [30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 480, 510, 540, 570, 600] output table: 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600
3 Réponses :
Tout d'abord, n'utilisez pas list
comme nom de variable pour remplacer une fonction python. Essayez ce qui suit:
list1 = [30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 480, 510, 540, 570, 600] result = '' for i in range(0, len(list1), 10): result += ''.join(' '.join([str(x) for x in list1[i:i+10]])) + '\n' print(result)
Mon mal c'était juste pour la question ici. Mon nom de variable réel était output_list
@funjunkstorage ok alors!
Cela vous permet de spécifier les nombres par ligne
30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600
Sortie
def create_rows(lst, numbers_per_row): return [lst[i:i+numbers_per_row] for i in range(0, len(lst), numbers_per_row)] lst = [30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 480, 510, 540, 570, 600] for row in create_rows(lst, 10): print(*row)
@ funjunkstorage - heureux de pouvoir aider
@ funjunkstorage - par la façon dont vous pouvez voter ou accepter des réponses pour récompenser les répondants.
Utilisez itertools.groupby
et enumerate ()
pour créer des groupes de 10 éléments:
>>> l = [30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 480, 510, 540, 570, 600] >>> from itertools import groupby >>> print('\n'.join(' '.join(str(item[1]) for item in group[1]) \ for group in groupby(enumerate(l), lambda x: x[0]//10))) 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600