MIS À JOUR:
En python, comment diviser une liste en sous-listes en fonction des plages d'index
par exemple. liste originale:
list1 = [x,y,z,a,b,c,d,e,f,g]
en utilisant les plages d'index 0 - 4:
list1a = [x,y,z,a,b]
en utilisant les plages d'index 5-9:
list1b = [c,d,e,f,g]
merci!
Je connaissais déjà les indices (variables) des éléments de liste qui contiennent certaines chaînes et je souhaite diviser la liste en fonction de ces valeurs d'index.
Besoin également de diviser en nombre variable de sous-listes! c'est à dire:
list1a
list1b
.
.
list1[x]
Notez que vous pouvez utiliser une variable dans une tranche:
l = ['a',' b',' c',' d',' e']
c_index = l.index("c")
l2 = l[:c_index]
Cela mettrait les deux premières entrées de l dans l2
En python, cela s'appelle le découpage. Voici un exemple de notation de tranche de python :
>>> list1 = ['a','b','c','d','e','f','g','h', 'i', 'j', 'k', 'l']
>>> print list1[:5]
['a', 'b', 'c', 'd', 'e']
>>> print list1[-7:]
['f', 'g', 'h', 'i', 'j', 'k', 'l']
Notez comment vous pouvez couper positivement ou négativement. Lorsque vous ajoutez un nombre négatif, cela signifie que nous coupons de droite à gauche.
Si vous connaissez déjà les indices:
list1 = ['x','y','z','a','b','c','d','e','f','g']
indices = [(0, 4), (5, 9)]
print [list1[s:e+1] for s,e in indices]
Notez que nous ajoutons +1 à la fin pour rendre la plage inclusive ...
list1a=list[:5]
list1b=list[5:]
list1=['x','y','z','a','b','c','d','e','f','g']
find=raw_input("Enter string to be found")
l=list1.index(find)
list1a=[:l]
list1b=[l:]