DEV Community

Guru prasanna
Guru prasanna

Posted on

2

Python Day-21 String functions logic using loops

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
Enter fullscreen mode Exit fullscreen mode

Output:

I like  apples
Enter fullscreen mode Exit fullscreen mode

--> 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))
Enter fullscreen mode Exit fullscreen mode

Output:

137348796892288
137348796892288
137348796892288
137348796892288
137348795520944
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Output:

-1
ValueError: substring not found
Enter fullscreen mode Exit fullscreen mode

-->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')
Enter fullscreen mode Exit fullscreen mode

Output:

10
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Output:

Today
is
Wednesday
Enter fullscreen mode Exit fullscreen mode

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more