Home > Backend Development > Python Tutorial > Day-List Comprehension

Day-List Comprehension

Mary-Kate Olsen
Release: 2025-01-01 14:14:10
Original
781 people have browsed it

Day-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)

Copy after login
['apple', 'banana', 'mango']

Copy after login

(Using list comprehension):

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]
print(newlist)

Copy after login
['apple', 'banana', 'mango']
Copy after login

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

l = [10,20,30,40]
newlist = []

#using for loop
for num in l:
    newlist.append(num**2)
print(newlist)

#using loop in comprehensive way
newlist = [num**2 for num in l]
print(newlist)
Copy after login
[100, 400, 900, 1600]
[100, 400, 900, 1600]
Copy after login

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 loop
for num in l1:
    for no in l2:
        if num== no:
            print(num,end=' ')
#comprehensive
print([num for num in l1 for no in l2 if num==no])

Copy after login
30 40 
[30, 40]
Copy after login
1 = [10,20,30,40]
l2 = [30,40,50,60]

#comprehensive
output = [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 loop
for num in l1:
    if num not in l2:
        print(num,end=' ')

for num in l2:
    if num not in l1:
        print(num,end=' ')
Copy after login
[10, 20, 50, 60]
10 20 50 60

Copy after login

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)

Copy after login
[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]
Copy after login

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))

Copy after login

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)
Copy after login
abc123
Copy after login

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

Copy after login
aeknbd
Copy after login

Task:

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

s = "a4k3b2"
i = 0

while i < len(s):
    first = s[i]  
    second =int(s[i + 1]) 
    print(first,chr(ord(first)+1)*second,sep='',end='')
    i+=2

Copy after login
abbbbklllbcc
Copy after login

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

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
Copy after login
aaaaakkkkbbb

Copy after login

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)

Copy after login

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)

Copy after login
[10, 20, 30, 40, 50, 60, 70, 80, 90]

Copy after login

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)
Copy after login
['ABC', 'def', 'GHI', 'jkl']

Copy after login

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=' ')

Copy after login
60 150 240
Copy after login

The above is the detailed content of Day-List Comprehension. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template