contexte important: strong> DIG sur le Wiki ESOLANG P>
Je fais un compilateur pour un langage de programmation ésotérique, en utilisant une liste 2D pour tenir compte de la nature 2D de la langue. Le problème vient lorsque j'ai besoin de toutes les listes de la liste d'une méga pour avoir la même longueur. P>
Ceci:
Besoins être ceci:
merci! p> [["#", "#"], ["#", "#", "#"]] code> p> p>
[["#", "#", ""], ["#", "#", "#"]] p> p>
3 Réponses :
Pour appliquer FLOSSVALUES dans des listes inégales, utilisez la fonction iTertoolts.zip_longest.
Vous pouvez le faire comme ceci, trouver la longueur maximale des listes:
max_length = max( len(i) for i in l) [ i + [" "]*(max_length-len(i)) for i in l ]
>>> mega_list = [["#","#"],["#","#","#"]] >>> for a in mega_list: ... a.extend([" "] * (max(map(len, mega_list)) - len(a))) ... >>> mega_list [['#', '#', ' '], ['#', '#', '#']]
Vous êtes juste en train d'ajouter à la fin?
de chaque subliste?
Oui, si c'est ce dont vous avez besoin, c'est un oui.