2009-10-14 6 views

Répondre

2
s = 'ABCDEFGHIJKLM' 
print s[3:7] 
print s[8:11] 
+0

Pourquoi "7" et "11" plutôt que "8" et "10"? Quelle est cette syntaxe? S'il vous plaît expliquer et fournir des références. – agf

2
>>> 'ABCDEFGHIJKLM'[3:7] 
'DEFG' 
>>> 'ABCDEFGHIJKLM'[8:11] 
'IJK' 

Vous pouvez lire un livre ou tutorial débutants.

3

Regardez dans le concept de Python appelé découpage de séquence!

8

Ici, vous allez

myString = 'ABCDEFGHIJKLM' 
first = myString[3:7] # => DEFG 
second = myString[8:11] # => IJK 

Dans la syntaxe de découpage en tranches, le premier numéro est inclus et la seconde est exclue.

Vous pouvez en savoir plus sur le découpage chaîne de python docs

3
a = "ABCDEFGHIJKLM" 
print a[3:7], a[8:11] 

-> DEFG IJK

0

En alternative, vous pouvez utiliser operator.itemgetter:

>>> import operator 
>>> s = 'ABCDEFGHIJKLM' 
>>> f = operator.itemgetter(3,4,5,6,7,8,9,10,11) 
>>> f(s) 
('D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L') 
+1

'operator.itemgetter (tranche (3, 7), tranche (8, 11)) ('ABCDEFGHIJKLM') == ('DEFG', 'IJK')' – nosklo

Questions connexes