Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Lakshmi Pritha Nadesan
Lakshmi Pritha Nadesan

Posted on

     

Day-26 List Comprehension

List Comprehension:

It's a syntactically elegant method to create or manipulate lists in a single line of code.

Write a program to print the fruits contains letter 'a'(using for loop):

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]newlist = []for x in fruits:  if "a" in x:    newlist.append(x)print(newlist)
Enter fullscreen modeExit fullscreen mode
['apple', 'banana', 'mango']
Enter fullscreen modeExit fullscreen mode

(Using list comprehension):

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]newlist = [x for x in fruits if "a" in x]print(newlist)
Enter fullscreen modeExit fullscreen mode
['apple', 'banana', 'mango']
Enter fullscreen modeExit fullscreen mode

Write a program to find the square root of given number:

l = [10,20,30,40]newlist = []#using for loopfor num in l:    newlist.append(num**2)print(newlist)#using loop in comprehensive waynewlist = [num**2 for num in l]print(newlist)
Enter fullscreen modeExit fullscreen mode
[100, 400, 900, 1600][100, 400, 900, 1600]
Enter fullscreen modeExit fullscreen mode

Find similar numbers from 2 lists and different numbers from the same 2 lists:

l1 = [10,20,30,40]l2 = [30,40,50,60]#for loopfor num in l1:    for no in l2:        if num== no:            print(num,end=' ')#comprehensiveprint([num for num in l1 for no in l2 if num==no])
Enter fullscreen modeExit fullscreen mode
30 40 [30, 40]
Enter fullscreen modeExit fullscreen mode
1 = [10,20,30,40]l2 = [30,40,50,60]#comprehensiveoutput = [num for num in l1 if num not in l2]output = output + [num for num in l2 if num not in l1]print(output)#for loopfor num in l1:    if num not in l2:        print(num,end=' ')for num in l2:    if num not in l1:        print(num,end=' ')
Enter fullscreen modeExit fullscreen mode
[10, 20, 50, 60]10 20 50 60
Enter fullscreen modeExit fullscreen mode

Write a program for the given output in comprehensive approach:

l1 = [1,2,3]
l2 = [5,6,7]
Output:[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]

l1 = [1,2,3]l2 = [5,6,7]l = [(i,j) for i in l1 for j in l2 if i!=j]print(l)
Enter fullscreen modeExit fullscreen mode
[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]
Enter fullscreen modeExit fullscreen mode

Write a program for the given output:
s = "a1b2c3"
output: abc123

Method:1

s= "a1b2c3"alpha_list = []num_list = []for letter in s:    if letter.isalpha():        alpha_list.append(letter)    else:        num_list.append(letter)print("".join(alpha_list+num_list))
Enter fullscreen modeExit fullscreen mode

Method:2

s = "a1b2c3"letter=''.join([i for i in s if i.isalpha()])no=''.join([i for i in s if i.isdigit()])print(letter+no)
Enter fullscreen modeExit fullscreen mode
abc123
Enter fullscreen modeExit fullscreen mode

Write a program for the given output:

s = "a4k3b2"
output: aeknbd

s = "a4k3b2"i = 0 while i<len(s):    first = s[i]    second = int(s[i+1])    print(first, chr(ord(first)+second),sep='',end='')    i+=2
Enter fullscreen modeExit fullscreen mode
aeknbd
Enter fullscreen modeExit fullscreen mode

Task:

1) Write a program to get the output 'abbbbklllbcc'

s = "a4k3b2"i = 0while i < len(s):    first = s[i]      second =int(s[i + 1])     print(first,chr(ord(first)+1)*second,sep='',end='')    i+=2
Enter fullscreen modeExit fullscreen mode
abbbbklllbcc
Enter fullscreen modeExit fullscreen mode

2) Write a program to get the output 'aaaaakkkkbbb'

s = "a4k3b2"i = 0while i < len(s):    first = s[i]      second =int(s[i + 1])     print(first,chr(ord(first))*second,sep='',end='')    i+=2
Enter fullscreen modeExit fullscreen mode
aaaaakkkkbbb
Enter fullscreen modeExit fullscreen mode

3.Join the given matrix into single list using comprehensive for and normal for loop.

Method:1(Using for loop)

matrix = [[10,20,30], [40,50,60], [70,80,90]]output=[]for i in matrix:    for j in i:        output.append(j)print(output)
Enter fullscreen modeExit fullscreen mode

Method:2(Using comprehensive for loop)

matrix = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]output = [j for i in matrix for j in i]print(output)
Enter fullscreen modeExit fullscreen mode
[10, 20, 30, 40, 50, 60, 70, 80, 90]
Enter fullscreen modeExit fullscreen mode

4.l = ['ABC','DEF', 'GHI', 'JKL']
Get OUTPUT: ['ABC', 'def','GHI', 'jkl']

l = ['ABC', 'DEF', 'GHI', 'JKL']output = [] for i, alpha in enumerate(l):    if i % 2 != 0:        output.append(alpha.casefold())    else:        output.append(alpha)print(output)
Enter fullscreen modeExit fullscreen mode
['ABC', 'def', 'GHI', 'jkl']
Enter fullscreen modeExit fullscreen mode

5.Find the row wise total for the given matrix:

matrix = [[10,20,30],           [40,50,60],           [70,80,90]]for inner in matrix:    total = 0    for index,num in enumerate(inner):        total+=num    print(total,end=' ')
Enter fullscreen modeExit fullscreen mode
60 150 240
Enter fullscreen modeExit fullscreen mode

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

I am studying Python Full Stack Developer course
  • Joined

More fromLakshmi Pritha Nadesan

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp