split(): It converts string into list and seperated by commas.
join(): It converts list into string.
Example:
1. Reverse the given input-->thursday is today
Method:1 Using loops
s = "today is thursday" reverse = "" i = 0 while i<len(s): reverse = reverse + s[-(i+1)] i+=1 print(reverse) #yadsruht si yadot 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])
Method:2 Using list
sen = "today is thursday" l = sen.split(" ") print(l) print(l[::-1]) s = " ".join(l[::-1]) print(s)
Output:
yadsruht si yadot thursday is today
Deep copy:
-->In Python, variables assigned to mutable objects (like lists) hold references to the objects.
-->If two variables reference the same object, changes made via one variable are reflected in the other.
Example:
l1 = [10,20,30] l2 = l1 print(l1) print(id(l1)) print(l2) print(id(l2)) l2[0] = 111 print(l1) print(l2)
Output:
[10, 20, 30] 127285488814912 [10, 20, 30] 127285488814912 [111, 20, 30] [111, 20, 30]
Shallow copy:
-->The copy() method creates a new list object but only copies the references of the elements (for nested objects).
-->It will stored in seperate memory address.
Example:
l1 = [10,20,30] l2 = l1.copy() print(l1) print(id(l1)) print(l2) print(id(l2)) l2[0] = 111 print(l1) print(l2)
Output:
[10, 20, 30] 140500496468800 [10, 20, 30] 140500496470528 [10, 20, 30] [111, 20, 30]
Lexicographical Order:
--> lexicographical order means arranging them in dictionary order, based on the alphabetical sequence of their letters.
--> Compares with ASCII order.(A-Z:65-91),(a-z:97-122)
Using comparison operators:
l1 = ['lakshmi', 'guru', 'kuhan'] l2 = ['lakshmi', 'guru', 'kuhan'] print(l1 == l2) print(l1 != l2) l2 = ['guru', 'lakshmi', 'kuhan'] print(l1>l2) print(l1<l2)
Output:
True False True False
Exercises: Interview questions
l1 = [10,20,30] l2 = [5,6,7] for no in l1: for num in l2: print(no, num, end=' ') print()
Output:
10 5 10 6 10 7 20 5 20 6 20 7 30 5 30 6 30 7
l1 = [10,20,30] l2 = [8,20,7] for no in l1: for num in l2: if no != num: print(no, num,end=' ') print()
Output:
10 8 10 20 10 7 20 8 20 7 30 8 30 20 30 7
Tasks:
1. Find pairs from the list which gives sum: 5
l1 = [1,2,3,4,5,6,7,8,9,0]
Method:1
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] pairs = [] for i in l: for j in l: if i + j == 5: pairs.append((i,j)) print(pairs)
Output:
[(1, 4), (2, 3), (3, 2), (4, 1), (5, 0), (0, 5)]
Method:2
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])
Output:
1 4 2 3 3 2 4 1 5 0 0 5
2. Find the missing number
l = [10,20,30,50,60,70,80,90]
Method:1
l = [10, 20, 30, 50, 60, 70, 80, 90] results = [] for i in range(len(l) - 1): if l[i + 1] - l[i] != 10: results.append(int((l[i] + l[i + 1]) / 2)) for result in results: print(result)
Method:2
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
Output:
40
The above is the detailed content of Python Day-List functions, Tasks. For more information, please follow other related articles on the PHP Chinese website!