-3
votes

Python 3: Comment créer une liste de listes d'une longueur imputée à partir d'une liste donnée d'éléments

J'essaie de prendre des éléments d'une liste donnée et de le convertir dans une nouvelle liste de liste, chaque liste intérieure étant une longueur donnée,

Qu'est-ce qu'un moyen simple et propre de remplir ce problème dans Python? Voici ce que j'ai essayé xxx

J'espère retourner

[[1, 2], [3, 4]]


2 commentaires

Quelques exemples de vos listes d'entrée et de vos résultats attendus nous aideraient grandement à déterminer ce dont vous avez besoin. Avez-vous essayé n'importe quel code du tout?


@Justinzequiel désolé à ce sujet, toute aide serait appréciée


3 Réponses :


1
votes
x = [[1, 2], [3, 4]]

0 commentaires

0
votes

ou si vous ne voulez pas installer NUMPY

import itertools

# https://docs.python.org/3.8/library/itertools.html#itertools-recipes
def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx"
    args = [iter(iterable)] * n
    return zip_longest(*args, fillvalue=fillvalue)

result = [1,2,3,4]
a = 2
out = list(grouper(result, a))
print(out)


0 commentaires

1
votes

Vous pouvez simplement prendre des tranches de la liste avec Valuse que vous souhaitez rompre, puis les déplacer dans une liste différente.

myls = [1,2,3,4]
out = []

a=2

out=[
    myls[0:a],
    myls[a:len(myls)],
]

print(out)


0 commentaires