je la liste suivante sur python:J'ai une liste et je veux imprimer une gamme de son contenu avec la gamme et la boucle
items = [5,4,12,7,15,9]
et je veux imprimer ce formulaire:
9,15,7,12,4
Comment puis-je faire cela?
je la liste suivante sur python:J'ai une liste et je veux imprimer une gamme de son contenu avec la gamme et la boucle
items = [5,4,12,7,15,9]
et je veux imprimer ce formulaire:
9,15,7,12,4
Comment puis-je faire cela?
numbers_list = [5,4,12,7,15,9]
for index in range(len(numbers_list)):
print(numbers_list[(index + 1) * - 1])
Je ne sais pas si elle est très « Pythonic »
Comme la liste indeces vous sont niées pouvez accéder aux éléments dans l'ordre inverse.
Dernier index dans une liste Python est [-1] et ainsi de suite, jusqu'à ce que le premier étant la longueur de la liste 1 (plus un dans ce cas pour obtenir le nombre négatif plus proche de 0).
Pouvez-vous s'il vous plaît expliquer? –
J'ai d'abord obtenu la longueur de la liste et ensuite itéré sur sa plage tout en multipliant indeces par -1 pour les rendre négatifs et accéder aux éléments dans le "verso". –
mais je veux jusqu'à 4 –
En utilisant reversed
et str.join
:
numbers = [5, 4, 12, 7, 15, 9]
print(",".join(str(n) for n in reversed(numbers))) # 9,15,7,12,4,5
str.join
est de loin mieux que la construction de votre propre chaîne en utilisant mystring += "something"
en termes de performances. How slow is Python's string concatenation vs. str.join? fournit des informations intéressantes à ce sujet.
Je pourrais aussi écrire une compréhension de la liste pour créer une liste intermédiaire comme ceci:
reversed_string = [str(n) for n in reversed(numbers)]
print(",".join(reversed_string))
mais l'écriture compréhension de la liste implique que nous enregistrons en mémoire deux fois la liste (l'original et le « strigified » un) . L'utilisation d'un générateur calcule dynamiquement les éléments pour str.join
, un peu de la même manière qu'un itérateur classique.
Pour imprimer en sans la première lettre, remplacer (index + 1) (indice + 2) et il exclura le premier élément de la liste;) –