Python découpage est d'une incroyable opération rapide, et c'est un moyen pratique pour accéder rapidement à des parties de vos données.
Tranche de notation pour obtenir les neuf derniers éléments d'une liste (ou de toute autre séquence qui la prend en charge, comme une chaîne de caractères) devrait ressembler à ceci:
num_list[-9:]
Quand je vois cela, j'ai lu la partie entre parenthèses "9e de la fin, à la fin." (En fait, je l'écourter, mentalement "-9, sur")
Explication:
La notation complète est
sequence[start:stop:step]
Mais le côlon est ce qui indique à Python que vous êtes en lui donnant une tranche et pas un index normal. C'est pourquoi la idiomatiques chemin de la copie de listes
list_copy = sequence[:]
Et de compensation est avec:
del my_list[:]
Donner vos tranches un nom descriptif!
Vous trouverez peut-être utile de séparer formant la tranche du passant à l' list.__getitem__
méthode (c'est ce que les crochets ne). Même si vous n'êtes pas nouveau pour elle, il rend votre code plus lisible, afin que d'autres qui peuvent avoir à lire votre code peut plus facilement comprendre ce que vous faites.
Cependant, vous ne pouvez pas affecter certains nombres entiers séparés par des virgules à une variable. Vous devez utiliser la tranche de l'objet:
last_nine_slice = slice(-9, None)
Le deuxième argument, None
, est nécessaire, de sorte que le premier argument est interprété comme l' start
argument sinon ce serait l' stop
argument.
Vous pouvez ensuite passer à la tranche de l'objet de votre séquence:
>>> list(range(100))[last_nine_slice]
[91, 92, 93, 94, 95, 96, 97, 98, 99]