Home >Backend Development >Python Tutorial >Python Day-List comprehension-Exercises

Python Day-List comprehension-Exercises

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 17:33:11770browse

Python Day-List comprehension-Exercises

List Comprehension

List comprehension offers a shorter syntax when you want to create a new list based on the values of an existing list. (refer-https://www.w3schools.com/python/python_lists_comprehension.asp)

Example:1
Method:1

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

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

Method:2(comprehensive)

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

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

Output:

['apple', 'banana', 'mango']

Example:2

l = [10,20,30,40]
newlist = []
#using normal 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)

Output:

[100, 400, 900, 1600]
[100, 400, 900, 1600]

Exercise:
1.Find similar numbers from 2 lists and different numbers from the same 2 lists.
l1 = [10,20,30,40]
l2 = [30,40,50,60]
Get this output:
a) 30,40

#30,40
l1 = [10,20,30,40]
l2 = [30,40,50,60]
#normal method

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

output:

[30, 40]

b) 10,20,50,60

l1 = [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)

#normal method
for num in l1:
    if num not in l2:
        print(num,end=' ')

for num in l2:
    if num not in l1:
        print(num,end=' ')

Output:

[10, 20, 50, 60]
10 20 50 60 

2. Find 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)

Output:

[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]

3. Find 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))

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)

Output:

abc123

4. Find 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

Output:

aeknbd

Explanation:

-->The ASCII value of first is obtained using ord(first), and second is added to it to find the new character.
-->ord() used to find ASCII value.
-->chr() converts ASCII value-->character.

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

Statement:
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