Aceasta poate părea o întrebare simplă, dar nu în situația mea.
Am o listă
list0 = ['amigohello','amigobye']
Și vreau să șterg „amigo” din ea.dacă încerc:
for x in list0:
print x.split("amigo")
Îmi dă următorul:
['', 'hello']
['', 'bye']
Am încercat:
for x in list0:
x = str(x.split("amigo"))
print x.split("[''")
De asemenea:
for x in list0:
print x.strip('amigo')
Și îmi dă:
hell
bye
Cel mai ciudat este că în acest rezultat nu șterge toate „o” dacă schimb „amigohello” în „amigohoeollo”.
Și bineînțeles am încercat cu x.strip(‘amigo’)[0]
Ceea ce vreau eu să fac este să șterg exact pe string tot ce este „amigo”, nu a.m.i.g.o sau ami.go., doar dacă am găsit amigo fără problema [] sau o soluție la problema []. Mulțumesc.
Ar trebui să utilizați str.replace
pentru a înlocui exact apariții ale cuvântului amigo
:
for x in list0:
print x.replace("amigo", "")
'hello'
'bye'
Există un replace
metodă prin care puteți înlocui cuvântul nedorit cu un șir gol.
list0 = ['amigohello','amigobye']
for x in list0:
print(x.replace("amigo", "")) # hello, bye
list0 = [item.replace('amigo','') for item in list0]
.split()
se bazează pe un delimitator. Acesta este, de obicei, un caracter de spațiu alb. Deci, dacă ați făcut"amigohello".split('g')
ați obține["ami", "ohello"]
– > Por Mangohero1.