Liste python
Résolu/Ferméouplaboum - 26 déc. 2022 à 18:29
- Liste python
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Citizen code python avis - Accueil - Outils
- Liste site streaming illégal - Accueil - Services en ligne
- Liste de diffusion whatsapp - Guide
2 réponses
26 déc. 2022 à 14:25
bonjour,
2 exemples:
c=4 result1 = [[i, i+1] for i in range(1,c)] print (result1) result=[x for l in result1 for x in l] print(result)
c=4 result=[] for i in range(1,c): result+=[i] result+=[i+1] print(result)
Bonjour !
Voici comment vous pourriez obtenir une liste de la forme [i, i+1]
pour chaque valeur de i
dans l'intervalle [0, c-1]
:
result = [[i, i+1] for i in range(c)]
Par exemple, si vous définissez c = 3
, vous obtiendrez la liste suivante :
result = [[0, 1], [1, 2], [2, 3]]
Si vous souhaitez plutôt obtenir une liste de la forme [i+1]
pour chaque valeur de i
dans l'intervalle [0, c-1]
, vous pouvez simplement supprimer la première colonne de chaque sous-liste, comme ceci :
result = [[i+1] for i in range(c)]
Avec c = 3
, cela donnera :
result = [[1], [2], [3]]
J'espère que cela répond à votre question ! N'hésitez pas à me poser d'autres questions si vous avez besoin d'aide ou de précisions.
26 déc. 2022 à 15:02
Bonjour, mon souci dans cette liste est que je voudrais pouvoir l'écrire de cette manière :
*[*[[i] , [i+1]] for i in range(c)]
mais cela n'est pas correct alors, je me demande comment puis-je l'écrire pour obtenir :
[1],[2],[2],[3] #c=3
26 déc. 2022 à 16:33
Pour obtenir la liste que vous souhaitez, il faut ajouter une itération supplémentaire dans la liste de compréhension. Vous pouvez par exemple utiliser la fonction range
pour itérer sur l'intervalle [0, c]
, comme ceci :
result = [[[i] , [i+1]] for i in range(c+1)]
Avec c = 3
, vous obtiendrez la liste suivante :
result = [[[0], [1]], [[1], [2]], [[2], [3]], [[3], [4]]]
Pour obtenir la liste sous la forme [1], [2], [2], [3]
, vous pouvez utiliser une liste de compréhension avec une itération sur l'intervalle [1, c+1]
, comme ceci :
result = [[i] for i in range(1, c+2)]
Avec c = 3
, vous obtiendrez la liste suivante :
result = [[1], [2], [3], [4]]
J'espère que cela vous aidera ! N'hésitez pas à me poser d'autres questions si vous avez besoin de précisions ou d'aide.
Bonsoir, ce que tu racontes n'a aucun sens, ce n'est pas en changeant la valeur de c que cela va changer grand chose.
.
De toute façon, tant qu'on ne saura pas la relation qu'il y a entre la valeur de c et le fait que la valeur « centrale » doit être doublée, ça va être difficile de donner une solution viable.
.
Qu'en est-il si c a comme valeur 4, 5, 6, 11, 17, 20, etc ?
Si c = 4, est-ce qu'on doit obtenir 1, 2, 2, 3, 3, 3, 4 ? 1, 2, 2, 3, 3, 4 ? 1, 2, 3, 3, 3, 4 ? Bref, il faut comprendre la logique, et ça seul kl_0888 est en mesure de la fournir.