Comment puis-je convertir une liste de tableaux en une seule liste et imprimer 6 éléments par ligne?
La liste des matrices ressemble à ceci: p> et je vouloir que cela ressemble à ceci: p> Ce que j'ai essayé est ce code: p> et c'est ce que je obtenu: p> Ce que je cherche, c'est d'imprimer 6 éléments par ligne
Merci beaucoup pour votre aide. P> P>
5 Réponses :
Ceci obtiendra votre sortie: ['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n',
'SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n',
'MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n',
'PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']
Une suggestion est de veiller à faire la distinction entre les données et sa "représentation". Si vous souhaitez imprimer seulement 6 caractères par ligne, ce n'est plus une question de savoir comment les données elles-mêmes sont stockées, mais plutôt une des informations de représentation correctement.
avec cela à l'esprit, le moyen le plus simple est de simplement imprimer chacun rangée de données séparément. p> sortie: p> Si vous remarquez, il y a une nouvelle ligne supplémentaire à la fin, qui apparaît parce que vos données l'avaient dans la dernière chaîne pour chaque ligne. Vous pouvez simplement couper pour une "solution rapide" p>
Si vous souhaitez simplement fusionner deux liste, utilisez la liste d'origine et utilisez étendez () pour ajouter la deuxième liste à la fin:
merged_list = mylist merged_list.extend(second_list)
Vous devez utiliser la fonction suivante:
>>> def flatten(iterable): for item in iterable: if isinstance(item, str): yield item else: try: yield from flatten(item) except TypeError: yield item >>> array_2D = [['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'], ['SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n'], ['MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n'], ['PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n']] >>> flat_array = list(flatten(array_2D)) >>> flat_array ['UES9151GS5', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n', 'SJD8775RZ4', 'SQU6245R', 'DEN', 'FRA', '1420564460', '1049\n', 'MXU9187YC7', 'MOO1786A', 'MAD', 'FRA', '1420563408', '184\n', 'PUD8209OG3', 'XXQ4064B', 'JFK', 'FRA', '1420563917', '802\n'] >>>
Pour déballer les tableaux imbriqués d'origine dans un seul tableau: qui donne: p> Si vous souhaitez imprimer le Array unique avec des chevreakes après chaque chaîne contenant "\ n", puis: p> où la splat (*) dénote un déballage iTrable. (voir https://docs.python.org /3/Tutorial/controlflow.html#TUT-Unpacking-Arguments ) em> p> p>
Il faut peut-être expliquer qu'il est équivalent à Imprimer (A, B, C) CODE> où le
* code> décompresse la liste.
Attends, je suis confus. Vous l'avez fait, non? Quel est le problème / la question alors?
Dupliqué possible de ce Publier
Voulez-vous simplement l'imprimer 6 éléments par ligne?
@ Error-SyntaxticalRemorse Je veux imprimer 6 éléments par ligne
@Paritoshsingh je veux imprimer 6 éléments par ligne
Quel est le but? Avez-vous besoin de cela pour ressembler à une liste de Python, avec le
[] code> et des virgules?
@glibDud oui, parce que je vais le combiner avec une autre liste qui a le même ordre (6 lignes par élément)
Cela n'a pas de sens, comment vous imprimez-vous n'a rien à voir avec la façon dont vous combinez-le avec une autre liste, pouvez-vous clarifier ce que vous voulez faire exactement?
Je suis d'accord avec dévu. L'impression est juste pour une utilisation visuelle. Il n'a aucun rôle dans la manipulation. Peut-être devriez-vous dire ce que vous voulez réellement et vous obtiendrez une réponse plus utile.
Cette question n'a aucun sens, car la présentation d'une liste plate n'a pas d'importance. Vous avez répondu à votre propre question.
@Deveshkumarsingh, il est de sens que je viens de tenter et de les combiner et ils n'avaient pas le même ordre. Qu'en est-il de si je veux l'écrire dans un fichier CSV, il ne sera pas écrit dans le même ordre.
@ Mr.Polywhirl, il a du sens que je viens de tenter et de les combiner et ils n'avaient pas le même ordre. Qu'en est-il de si je veux l'écrire dans un fichier CSV, il ne sera pas écrit dans le même ordre.
@ s.m.yousef je ne suis pas sûr de ce que tu veux dire. Si vous avez écrit votre liste initiale 2-D sur CSV, chaque ligne doit être écrite dans le fichier dans le même ordre dans la liste et, de même, chaque élément de chaque ligne devrait maintenir la commande. S'ils ne sont pas, alors quelque chose d'autre étrange se passe sur ce que vous n'êtes pas montrant ici.
@glibDud Que voulez-vous dire par étrange? Je suis juste nouveau pour python et apprendre par moi-même. Plutôt en faire une hypothèse, ce serait mieux si vous me montrez où mes erreurs sont mes erreurs, guidez-moi et suggérez un matériau utile à lire. de toute façon merci
@ s.m.yousef n'est donc pas vraiment un site de tutoriel. C'est mieux pour des réponses spécifiques à des questions spécifiques. En tout cas, nous ne pouvons pas vous montrer où vos erreurs sont parce que vous ne nous avez pas réellement montré de code au-delà de la manière dont vous avez aplati la liste (qui va bien, si l'aplatissement de la liste est ce que vous allez faire). Vous voudrez peut-être lire Quel est le problème XY? , comme je crois que c'est pertinent ici.
@glibDud ma question était spécifique et claire Comment puis-je convertir une liste de tableaux en une seule liste et imprimer 6 éléments par ligne? b>. et qui a dit que cela n'est donc pas un site de tutoriel. Lorsque vous posez une question et que les gens vous répondent, vous apprenez quelque chose de nouveau
@ s.m.yousef Mais quand on vous a demandé pourquoi vous devez faire cela, vous avez parlé de la combinaison avec une autre liste et de créer des CSV. Aucune de ces choses ne sont affectées par la manière dont vous imprimez une liste.
@glibdud Si je savais comment l'imprimer, je pourrais peut-être le stocker dans une nouvelle liste, puis la combiner (j'ai besoin de l'avoir dans un format spécifique), car chaque élément doit être écrit dans une colonne spécifique (6 colonnes).
@ s.m.yousef bien alors, au moins une des réponses que vous avez déjà obtenues vous donne le format que vous semblez demander. Donc, je suppose que vous avez ce dont vous avez besoin?
@glibdud je les teste sur mes données. Mais apparemment cela fonctionne bien avec l'impression mais pas avec le stockage dans une nouvelle liste