Supposons que j'ai une liste avec des éléments XComment rempoter une liste en Python
[4,76,2,8,6,4,3,7,2,1...]
Je voudrais les 5 premiers éléments. Sauf s'il a moins de 5 éléments.
[4,76,2,8,6]
Comment faire?
Supposons que j'ai une liste avec des éléments XComment rempoter une liste en Python
[4,76,2,8,6,4,3,7,2,1...]
Je voudrais les 5 premiers éléments. Sauf s'il a moins de 5 éléments.
[4,76,2,8,6]
Comment faire?
Vous venez avec le sous-index [:5]
indiquant que vous voulez (jusqu'à) les 5 premiers éléments.
>>> [1,2,3,4,5,6,7,8][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
>>> x = [6,7,8,9,10,11,12]
>>> x[:5]
[6, 7, 8, 9, 10]
En outre, mettre le côlon à droite du nombre moyen de comptage de l'élément nième partir - ne pas oublier que les listes sont sur la base 0!
>>> x[5:]
[11, 12]
Ceci est communément connu sous le nom de découpage. – Steve314
Cela crée une liste * new *, elle ne coupe pas la liste existante. Pour couper sur place, utilisez 'del' sur une tranche; par exemple. 'del listobj [-x:]' supprimera les derniers éléments * x * de l'objet liste. –
l = [4,76,2,8,6,4,3,7,2,1]
l = l[:5]
N'appelez simplement pas vos listes 'list' en code réel! –
@too Bien sûr, ceci est uniquement fait à des fins de démonstration: D – mgbowen
>>> [1,2,3,4,5,6,7,8,9][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
Pour découper une liste en place sans créer des copies de celui-ci, utilisez del
:
>>> t = [1, 2, 3, 4, 5]
>>> # delete elements starting from index 4 to the end
>>> del t[4:]
>>> t
[1, 2, 3, 4]
>>> # delete elements starting from index 5 to the end
>>> # but the list has only 4 elements -- no error
>>> del t[5:]
>>> t
[1, 2, 3, 4]
>>>
Voir aussi: http://stackoverflow.com/questions/509211/good-primer- for-python-slice-notation –