DEV Community

Guru prasanna
Guru prasanna

Posted on

1

Python Day-25 List functions, Tasks

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

Method:2 Using list

sen = "today is thursday"
l =  sen.split(" ")
print(l)
print(l[::-1])
s = " ".join(l[::-1])
print(s)
Enter fullscreen mode Exit fullscreen mode

Output:

yadsruht si yadot
thursday is today
Enter fullscreen mode Exit fullscreen mode

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

Output:

[10, 20, 30]
127285488814912
[10, 20, 30]
127285488814912
[111, 20, 30]
[111, 20, 30]
Enter fullscreen mode Exit fullscreen mode

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

Output:

[10, 20, 30]
140500496468800
[10, 20, 30]
140500496470528
[10, 20, 30]
[111, 20, 30]
Enter fullscreen mode Exit fullscreen mode

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

Output:

True
False
True
False
Enter fullscreen mode Exit fullscreen mode

Exercises: Interview questions

  1. Get as output: 10 5 10 6 10 7 20 5 20 6 20 7 30 5 30 6 30 7
l1 = [10,20,30]
l2 = [5,6,7]

for no in l1:
    for num in l2:
        print(no, num, end=' ')
    print()
Enter fullscreen mode Exit fullscreen mode

Output:

10 5 10 6 10 7 
20 5 20 6 20 7 
30 5 30 6 30 7 
Enter fullscreen mode Exit fullscreen mode
  1. 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(no, num,end=' ')
    print()
Enter fullscreen mode Exit fullscreen mode

Output:

10 8 10 20 10 7 
20 8 20 7 
30 8 30 20 30 7 
Enter fullscreen mode Exit fullscreen mode

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

Output:

[(1, 4), (2, 3), (3, 2), (4, 1), (5, 0), (0, 5)]
Enter fullscreen mode Exit fullscreen mode

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

Output:

1 4
2 3
3 2
4 1
5 0
0 5
Enter fullscreen mode Exit fullscreen mode

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

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

Output:

40

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more