Sono nuovo in Python e voglio sapere come posso scambiare due caratteri in una stringa. So che la stringa è immutabile, quindi ho bisogno di trovare un modo per creare una nuova stringa con i caratteri scambiati. In particolare, un metodo generale che prende una stringa e due indici i, j e scambia il carattere su i con j.Scambia caratteri nella stringa
6
A
risposta
12
Come si afferma correttamente, le stringhe sono immutabili e non possono essere modificate sul posto, ma è possibile creare una nuova stringa con i caratteri scambiati. Ecco un'idea: cerchiamo di convertire la stringa in una lista, scambiare gli elementi della lista e poi convertire la lista in una stringa:
def swap(s, i, j):
lst = list(s);
lst[i], lst[j] = lst[j], lst[i]
return ''.join(lst)
Un'altra possibile applicazione potrebbe essere quella di manipolare lo stringa utilizzando fette e indici:
def swap(s, i, j):
return ''.join((s[:i], s[j], s[i+1:j], s[i], s[j+1:]))
in entrambi i casi, funziona come previsto:
swap('abcde', 1, 3)
=> 'adcbe'
Problemi correlati
- 1. Scambia due lettere in una stringa
- 2. scambia due parole in una stringa php
- 3. Haskell sostituisce i caratteri nella stringa
- 4. array numpy di caratteri nella stringa
- 5. Contare quanti caratteri specifici nella stringa
- 6. Unescape unicode nella stringa di caratteri
- 7. controllo quante volte stringa contiene caratteri 'g' nella stringa ammissibili
- 8. Scambia simultaneamente due frammenti
- 9. SymPy: Scambia due variabili
- 10. La JVM scambia l'heap?
- 11. Trova caratteri comuni nella stringa di stringhe, nell'ordine corretto
- 12. Come eliminare tutti i caratteri dopo un carattere nella stringa?
- 13. sostituire i caratteri speciali nella stringa in java
- 14. Come sostituire i caratteri unicode nella stringa con qualcos'altro python?
- 15. jQuery: verifica se nella stringa sono presenti caratteri speciali
- 16. loop su caratteri nella stringa di input utilizzando awk
- 17. come iterare i singoli caratteri nella stringa Lua?
- 18. utilizzando preg_match per rilevare i caratteri persiani (farsi) nella stringa
- 19. Sostituzione caratteri in stringa
- 20. Estrazione caratteri da stringa
- 21. Split stringa di caratteri
- 22. Scambia elementi usando i CSS?
- 23. Scambia host risorsa per controller
- 24. Scambia immagine src con jquery
- 25. Scambia messaggi HL7 su Internet
- 26. Cassandra VNodes scambia le prestazioni?
- 27. Scambia due oggetti in JavaScript
- 28. Traslitterazione/trasposizione dei caratteri nella NSString
- 29. Caratteri non ammessi nella risposta JSON
- 30. Visualizza i caratteri Unicode nella console Xcode?
Grande, stavo pensando di un modo per farlo attraverso una lista. È efficiente in termini di tempo? perché devo metterlo in un programma di tempo critico. – Wajahat
@Wajahat È abbastanza buono. Preferisco la prima opzione in quanto crea stringhe meno intermedie, ma come al solito è meglio se prima profiliamo il codice prima di tentare di ottimizzarlo prematuramente. –
Solo una nota per chiunque stia cercando di usare questo codice, il secondo modo in cui viene fatto con fette e indici non funziona correttamente con gli indici negativi in python3. Consiglierei di usare il primo metodo. – Mason