Qual è il modo divinatorio per la ricerca in lista data ['a', 'b', 'c']
per l'elemento b
sostituirlo e inserire più elementi b1, b2, b3
modo che l'elenco finalmente legge come ['a', 'b1', 'b2', 'b3', 'c']
ricerca di elementi in lista e sostituirlo con le voci multiple
risposta
Utilizzando fetta notazione:
>>> lst = ['a', 'b', 'c']
>>> i = lst.index('b') # This raises ValueError if there's no 'b' in the list.
>>> lst[i:i+1] = 'b1', 'b2', 'b3'
>>> lst
['a', 'b1', 'b2', 'b3', 'c']
NOTA Questo cambia solo il primo elemento corrispondente.
@SteveP., Vedi [* Elenco liste * dal tutorial Python] (http://docs.python.org/3/tutorial/introduction.html#lists). – falsetru
@SteveP., Poiché 'list .__ setitem__ con argomento oggetto slice' è implementato in questo modo. Vedi http://hg.python.org/cpython/file/a3bdbe220f8a/Objects/listobject.c#l579 – falsetru
Grazie, questo è quello che stavo cercando. –
approccio alternativo: Utilizzo itertools.chain.from_iterable
>>> b = ["b1", "b2", "b3"]
>>> a = ['a', 'b', 'c']
>>> a = [b if x=='b' else [x] for x in a]
>>> a
['a', ['b1', 'b2', 'b3'], 'c']
>>> import itertools
>>> list(itertools.chain.from_iterable(a))
['a', 'b1', 'b2', 'b3', 'c']
>>>
- 1. Ricerca e sostituirlo con regex e il testo sublime
- 2. vim: ricerca interattiva e sostituirlo con perl espressioni regolari compatibili
- 3. Loop e ricerca attraverso TUTTE le voci in localStorage
- 4. Attività di ricerca multiple con suggerimenti
- 5. Query di ricerca Laravel con condizioni multiple
- 6. lista con infiniti elementi
- 7. Ricerca di stringhe multiple in diversi file con Sublime 3
- 8. Ricerca di stringhe multiple in più file
- 9. Come per la ricerca di stringhe multiple e sostituirli con nulla all'interno di una lista di stringhe
- 10. Ricerca elementi con ID dinamico
- 11. Esecuzione di cattura regex e poi sostituirlo con SED/PERL
- 12. Ricerca di voci duplicate nella raccolta
- 13. Come limitare le voci massime su un input multiplo (<input type = "file" multiple />)
- 14. Come si spostano le voci dell'elenco?
- 15. Ricerca di elementi specifici con jQuery
- 16. Uso delle voci in una lista come argomenti
- 17. Ricerca di più elementi
- 18. Python, zip liste multiple in cui una sola lista richiede due elementi ogni
- 19. Unire alcuni elementi di una lista in una lista Python
- 20. Ricerca e modifica elementi JSON annidati
- 21. Come si evitano i backslash e le barre in avanti nella ricerca/ricerca VIM?
- 22. Python - confronto degli elementi della lista con elementi "vicini"
- 23. Come disattivare le voci di menu in ContextMenuStrip?
- 24. Strategia per trovare le voci duplicate in un albero di ricerca binario
- 25. Robolectric, Problemi con le voci dell'elenco di clic
- 26. rimuovere elementi in una lista presente in un'altra lista
- 27. disabilitazione e oscuramento delle voci di elenco
- 28. String interpolazione con le citazioni triple e linee multiple
- 29. modo corretto per farlo trovare un modello e sostituirlo con un collegamento in una vista Rails
- 30. Come rimuovere gli elementi della lista di matrice/le strutture che dispongono di 2 elementi comuni
cosa dovrebbe succedere se 'B' è presente più di una volta? –
nel mio caso particolare è garantito che gli articoli sono unici – greole