split():
The split() method divides a string into a list of substrings based on a separator.
join():
The join() method concatenates the elements of an iterable into a single string, using the string it's called on as a separator.
Example using loop:
s = "today is thursday"
reverse = ""
i = 0
while i<len(s):
reverse = reverse + s[-(i+1)]
i+=1
print(reverse)
i = 0
word = ""
while i<len(reverse):
if reverse[i]==' ':
print(word[::-1],end=' ')
word = ""
i+=1
continue
word = word + reverse[i]
i+=1
else:
print(word[::-1])
yadsruht si yadot
thursday is today
Example using list:
sen = "today is thursday"
l = sen.split(" ")
print(l)
print(l[::-1])
s = " ".join(l[::-1])
print(s)
['today', 'is', 'thursday']
['thursday', 'is', 'today']
thursday is today
Deep copy:
A deep copy in Python refers to creating a new object that is a fully independent copy of the original object, including all objects nested within it.
l1 = [10,20,30]
l2 = l1
print(l1)
print(id(l1))
print(l2)
print(id(l2))
l2[0] = 111
print(l1)
print(l2)
[10, 20, 30]
127285488814912
[10, 20, 30]
127285488814912
[111, 20, 30]
[111, 20, 30]
Shallow copy:
A shallow copy, where the new object is a copy of the original object, but it contains references to the same nested objects.
l1 = [10,20,30]
l2 = l1.copy()
print(l1)
print(id(l1))
print(l2)
print(id(l2))
l2[0] = 111
print(l1)
print(l2)
[10, 20, 30]
140500496468800
[10, 20, 30]
140500496470528
[10, 20, 30]
[111, 20, 30]
Lexicographical Order:
Lexicographical order is a generalization of the way words are alphabetically ordered in a dictionary.
l1 = ['lakshmi', 'guru', 'kuhan']
l2 = ['lakshmi', 'guru', 'kuhan']
print(l1 == l2)
print(l1 != l2)
l2 = ['guru', 'lakshmi', 'kuhan']
print(l1>l2)
print(l1<l2)
True
False
True
False
Examples:
l1 = [10,20,30]
l2 = [5,6,7]
for no in l1:
for num in l2:
print(no, num, end=' ')
print()
10 5 10 6 10 7
20 5 20 6 20 7
30 5 30 6 30 7
Remove if you get 20 20 nearby in output:
l1 = [10,20,30]
l2 = [8,20,7]
for no in l1:
for num in l2:
if no==num:
print(" ", end=" ")
else:
print(no, num, end=' ')
print()
10 8 10 20 10 7
20 8 20 7
30 8 30 20 30 7
Task:
Find pairs with given sum: 5
l = [1,2,3,4,5,6,7,8,9,0]
for i in range(len(l)):
for j in range(len(l)):
sum = l[i] + l[j]
if sum == 5:
print(l[i], l[j])
1 4
2 3
3 2
4 1
5 0
0 5
Find the missing number:
l = [10,20,30,50,60,70,80,90]
i=0
while i<len(l)-1:
if l[i+1]-l[i]!=10:
result=(l[i]+l[i+1])/2
print(int(result))
i+=1
40
Top comments (0)