Forum >> Principianti >> eliminare una porzione di stringa

Pagina: Indietro 1 2

Ciao Cherry.



perchè utilizzi python2? se come tutti noi sei una principiante ti conviene partire subito con python3, è inutile studiare su una versione che non verrà più supportata. l'unico scopo sarebbe quello di dover manutenzionare codice vetusto, ma non è il nostro caso.




detto questo, se il metodo replace() è vietato, io ti consiglierei di usare le liste.

in pratica spezzi le parole all'altezza degli spazi, con append vai a caricare le parole di una stringa in una lista.

a questo punto vai a comparare le due liste e per interferenza vai a eliminare le parole doppie, e ti ritrovi con quello che ti serve




dici che può funzionare?

ciao! :) più o meno è come lo avevo immaginato all'inizio ma mi sono accorta di non saper trovare un modo per ricercare la singola parola e mi trovavo ad eliminare i singoli caratteri ricorrenti.
chiamando x e y le mie stringa1 e 2 divenute liste tramite list,avevo immaginato una cosa del genere ma ottengo in output una lista vuota e non sono molto sicura del fatto che il remove funzioni chiamando il nome della lista da cercare e non la parola o il carattere esplicito. ;( ;( ;(


if x.count(y)>=1:

for i in range(len(x)):

if (x == y ):

x.remove(y)

nuova = nuova + x

return nuova


E' meglio che studiate Python da un libro serio, invece di andare a scqquola :D
La funzione ricorsiva l'ho postata nella discussione di Coffee
Ὅμηρος 蟒蛇 said @ 2018-03-19 22:07:22:
E' meglio che studiate Python da un libro serio, invece di andare a scqquola :D
La funzione ricorsiva l'ho postata nella discussione di Coffee

Ὅμηρος 蟒蛇 said @ 2018-03-19 22:07:22:
ciao! ho letto ,probabilmente è un mio compagno di classe XD domani lo scoprirò. per quanto riguarda un buon testo se hai qualche nome da fornirmi te ne sarei grata visto che a lezione abbiamo a disposizione delle dispense piuttosto scarne e mi ritrovo a cercare ovunque senza avere un buon riferimeneto :)
per quanto riguarda un buon testo se hai qualche nome da fornirmi te ne sarei grata visto che a lezione abbiamo a disposizione delle dispense piuttosto scarne e mi ritrovo a cercare ovunque senza avere un buon riferimeneto :)
Per esempio in questo sito, nella sezione Documentazione >> I libri, ne scegli uno.
Hai capito il funzionamento della funzione ricorsiva? Altrimenti il prof. ti sgama :D
Oltretutto vi presenterete entrambi con lo stesso codice, e se nessuno dei due avrà capito il funzionamento.. vi sgamerಠal quadrato.

Quale fantastico corso state frequentando?
cherry, python offre una fantastica funzione che è la "list comprehension" (qui i dettagli https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions )



il tuo motore di "sottrazione" diventa una riga di codice




a = ["a","b","e","f"]

b = ["b","d","f"]

c = [x for x in a if x not in b]

print(c)





in pratica nella terza riga si prendono in rassegna gli elementi della lista a e vengono sottratti quelli della lista b.



se vuoi il codice completo commentato è questo qui sotto




stringa_A = "mangio la mela e canto"
stringa_B = "la mela"
lista_A = stringa_A.split(" ") #funzione split, taglia la stringa quando incontra lo spazio scritto in parentesi e carica le parole in lista
lista_B = stringa_B.split(" ")
lista_C = [x for x in lista_A if x not in lista_B] #prende in rassegna tutti gli oggetti della prima lista e li carica nella nuova solo se non presenti nella seconda lista
stringa_C = " ".join(lista_C) #funzione join, prende in rassegna tutti gli oggetti di una lista e crea una stringa lasciando come spazio quello scritto fra virgolette
print(stringa_C)






--- Ultima modifica di stix77 in data 2018-03-19 23:57:58 ---


--- Ultima modifica di stix77 in data 2018-03-20 00:04:52 ---
Grazie a tutti! L'esercizio lo ha spiegato a lezione il prof alla fine ,anche se di metodi per risolverlo ce ne sono veramente tanti . L'intento a lezione ê stato quello di usufruire il meno possibile di funzioni già fatte e sfruttare le caratteristiche di liste e stringhe . tuttavia gli spunti che mi sono stati dati mi hanno permesso di affinare alcune nozioni che avevo e alla fine ieri sera avevo trovato altre due soluzioni alternative al problema 😂


Pagina: Indietro 1 2



Esegui il login per scrivere una risposta.