Diciamo che ho una stringa che consiste di x caratteri sconosciuti. Come posso ottenere char nr. 13 o n. x-14?Come ottenere char da una stringa per indice?
risposta
Per prima cosa assicurarsi che il numero richiesto sia un indice valido per la stringa dall'inizio o alla fine, quindi è possibile utilizzare semplicemente la notazione di indice di matrice. uso len(s)
arrivare lunghezza stringa
>>> s = "python"
>>> s[3]
'h'
>>> s[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> s[0]
'p'
>>> s[-1]
'n'
>>> s[-6]
'p'
>>> s[-7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
In [1]: x = "anmxcjkwnekmjkldm!^%@(*)#[email protected]"
In [2]: len(x)
Out[2]: 45
Ora, per indice positivo intervalli di x è dallo 0 al 44 (cioè la lunghezza - 1)
In [3]: x[0]
Out[3]: 'a'
In [4]: x[45]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/home/<ipython console> in <module>()
IndexError: string index out of range
In [5]: x[44]
Out[5]: 's'
Per indice negativo, indice varia da Da -1 a -45
In [6]: x[-1]
Out[6]: 's'
In [7]: x[-45]
Out[7]: 'a
Per l'indice negativo, negativo [lunghezza -1] vale a dire l'ultimo valore valido ue di indice positivo darà secondo elemento elenco come l'elenco viene letta in ordine inverso,
In [8]: x[-44]
Out[8]: 'n'
Altri esempi di indice,
In [9]: x[1]
Out[9]: 'n'
In [10]: x[-9]
Out[10]: '7'
Questo dovrebbe chiarire ulteriormente i punti:
a = int(raw_input('Enter the index'))
str1 = 'Example'
leng = len(str1)
if (a < (len-1)) and (a > (-len)):
print str1[a]
else:
print('Index overflow')
Ingresso 3 Uscita m
Ingresso -3 uscita p
Un'altra exersice consigliato per comprendere le liste e gli indici:
L = ['a', 'b', 'c']
for index, item in enumerate(L):
print index + '\n' + item
0
a
1
b
2
c
Python.org ha una sezione eccellente sulle stringhe here. Scorri verso il basso fino a dove dice "notazione di sezione".
Le risposte precedenti coprono circa ASCII character
con un determinato indice.
E 'un po' fastidioso per ottenere un Unicode character
ad un determinato indice in Python 2.
Ad esempio, con s = '한국中国にっぽん'
che è <type 'str'>
,
__getitem__
, ad esempio, s[i]
, non porta sui cui desideri. Sputerà semething come �
. (Molti caratteri Unicode sono più di 1 byte, ma __getitem__
in Python 2 viene incrementato di 1 byte.)
In questo caso Python 2, è possibile risolvere il problema di decodifica:
s = '한국中国にっぽん'
s = s.decode('utf-8')
for i in range(len(s)):
print s[i]
- 1. Rimozione char nella stringa da indice specifico
- 2. Restituisce char []/stringa da una funzione
- 3. Come ottenere una stringa da dataPackageView.GetDataAsync()
- 4. Rimuovi '\' char da stringa C#
- 5. Iterate tramite stringa char per char
- 6. Come si usa una stringa come indice?
- 7. Ottenere un singolo carattere da una stringa
- 8. Come ottenere il carattere char da System.Windows.Input.KeyEventArgs?
- 9. Come ottenere una stringa binaria da ArrayBuffer?
- 10. Come ottenere una risposta stringa da Retrofit2?
- 11. Convertire Char in una stringa
- 12. String.Replace (char, char) o Replace (stringa, stringa)?
- 13. Creazione stringa non sicura da char []
- 14. Conversione da stringa a char - C++
- 15. C++: Modifica stringa per indice
- 16. Come ottenere una stringa inversa (unicode safe)
- 17. Come ottenere char ** usando C#?
- 18. non può convertire da 'stringa' a 'char []' per la spaccatura
- 19. Come ottenere l'ultimo indice di una lista?
- 20. Converti stringa in char
- 21. Come distinguere la stringa costante da char * nella macro C
- 22. strcat concat un char su una stringa?
- 23. Trova il primo indice di una stringa dopo indice
- 24. come controllare per una lettera in J2ME da un char
- 25. php ottenere il numero da una stringa
- 26. Stringa MySQL Ultimo indice
- 27. Come posso # definire una stringa char * senza segno?
- 28. Utilizzare String.Replace() con un indice anziché una stringa per l'argomento?
- 29. Ottenere un oggetto da observableArray tramite indice
- 30. Ottenere sottostringa prima di una certa char a (c)
È possibile passare interi negativi –
@AviramSegal Grazie per la correzione, sì, possiamo, ma dovrebbero anche essere nei limiti della lunghezza della stringa. – DhruvPathak
dopo la modifica è la migliore risposta, votata invece che in basso :) –