0
votes

Liste de gamme pour chaque article de la liste de liste

J'essaie de créer une liste de gammes à partir d'une liste plate de chiffres. Cela fonctionne lorsqu'il est en boucle via une gamme simple, mais lorsque vous essayez de boucler une liste personnalisée, il offre des sublistes vides. Je viens de commencer mon aventure python, ne soyez pas cruel;) Toute aide serait très appréciée.

La sortie attendue est de la liste [0, 1, 2] -> [[0], [0, 1], [0, 1, 2]] xxx


6 commentaires

Ce serait génial si vous pouviez inclure la production attendue.


Vous avez défini a comme [1, 2] , puis jetez-le et utilisez a comme 0 via 9 à partir d'une plage . Vouliez-vous que cela soit basé sur [1, 2] ou plage (10) ? De toute façon, vous devez éviter de réutiliser des noms variables car il va simplement vous confondre; Changer la variable de boucle en i (il est donc soit pour i in gamme (10): ou pour i dans un: , puis Makerange (i) sera beaucoup moins déroutant.


ne peut pas reproduire: [[], [0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5, 6], [0, 1, 2, 3, 4, 5, 6, 7], [0 , 1, 2, 3, 4, 5, 6, 7, 8]]


BTW: b.append (liste (plage (0, n, 1))) => b.append (liste (plage (n)))


Sortie attendue effectuée et le résultat est maintenant correct


pour une plage (10) n'a aucun sens avec votre sortie attendue.


3 Réponses :


3
votes

ne surchargez pas ceci:

>>> a = [0,1,2]
>>> [list(range(n+1)) for n in a]
[[0], [0, 1], [0, 1, 2]]


0 commentaires

0
votes

Il est plus sûr de conserver la liste d'enferçage à l'intérieur de la fonction et de le renvoyer à partir de la fonction: xxx pré>

sortie: p>

[[0],[0,1],[0,1,2]]


0 commentaires

0
votes

Utilisez le tranchant au cas où votre liste n'est pas des entiers:

  • Case 1:

    avec des chaînes xxx

    sortie: xxx

    • Cas 2:

      et avec l = [0,1,2] xxx

      sortie: xxx

      • Cas 3

        ou la liste des entiers est en ordre non ascendant: xxx

        sortie: xxx


0 commentaires