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

Python Day-List comprehension-Exercises

Patricia Arquette
Release: 2024-12-30 17:33:11
Original
770 people have browsed it

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

Method:2(comprehensive)

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

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

Output:

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

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

Output:

[100, 400, 900, 1600]
[100, 400, 900, 1600]
Copy after login

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

output:

[30, 40]
Copy after login

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

Output:

[10, 20, 50, 60]
10 20 50 60 
Copy after login

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

Output:

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

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

Output:

abc123
Copy after login

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

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!

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