1) replace(): Returns a string where a specified value is replaced with a specified value.
txt = "I like bananas"
already = "bananas"
new = "apples"
l = len(already) # l = 7
start = 0
end = l
while end<=len(txt):
if txt[start:end] == 'bananas':
print(txt[:start],new)
start+=1
end+=1
Output:
I like apples
--> In Python, everything is an object.
--> Every different object has different memory space.
--> String is Immutable:
--> Immutable: Non-changeable - மாறாது.
--> If we try to edit an existing string, it wont get changed. Instead, a new memory will be created for storing the new value.
-->Identical strings can refer to the same memory.
Example:
country1 = 'India'
country2 = 'India'
country3 = 'India'
country4 = 'India'
print(id(country1))
print(id(country2))
print(id(country3))
print(id(country4))
country1 = "Singapore"
print(id(country1))
Output:
137348796892288
137348796892288
137348796892288
137348796892288
137348795520944
So for the last print statement a new memory has been created and string cannot be changed.
2) Difference between rfind() and rindex():
Searches the string for a specified value and returns the last position of where it was found.
Example:1
txt = "Mi casa, su casa."
x = txt.rfind("basa")
print(x)
x = txt.rindex("basa")
print(x)
Output:
-1
ValueError: substring not found
-->In rfind() if string not found it returns -1.
-->In rindex() if string not found it returns valueError.
Example:2(Logic)
txt = "Python is my favourite language"
key = 'my'
l = len(key)
start = len(txt) - l
end = len(txt)
while start >= 0:
if txt[start:end] == key:
print(start)
break
start -= 1
end -= 1
else:
print('-1 or ValueError')
Output:
10
3) split(): Splits the string at the specified separator, and returns a list.
txt = "Today is Wednesday"
word = ''
start = 0
i = 0
while i<len(txt):
if txt[i]==' ':
print(txt[start:i])
start = i+1
elif i == len(txt)-1:
print(txt[start:i+1])
i+=1
Output:
Today
is
Wednesday
Top comments (0)