Maison > développement back-end > Tutoriel Python > Exercices de compréhension de la liste de jours Python

Exercices de compréhension de la liste de jours Python

Patricia Arquette
Libérer: 2024-12-30 17:33:11
original
801 Les gens l'ont consulté

Python Day-List comprehension-Exercises

Compréhension de la liste

La compréhension de liste offre une syntaxe plus courte lorsque vous souhaitez créer une nouvelle liste basée sur les valeurs d'une liste existante. (voir-https://www.w3schools.com/python/python_lists_comprehension.asp)

Exemple :1
Méthode :1

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

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

print(newlist)
Copier après la connexion

Méthode :2 (complète)

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

newlist = [x for x in fruits if "a" in x]
print(newlist)
Copier après la connexion

Sortie :

['apple', 'banana', 'mango']
Copier après la connexion

Exemple :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)
Copier après la connexion

Sortie :

[100, 400, 900, 1600]
[100, 400, 900, 1600]
Copier après la connexion

Exercice :
1.Trouvez des numéros similaires dans 2 listes et des numéros différents dans les 2 mêmes listes.
l1 = [10,20,30,40]
l2 = [30,40,50,60]
Obtenez ce résultat :
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])
Copier après la connexion

sortie :

[30, 40]
Copier après la connexion

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=' ')
Copier après la connexion

Sortie :

[10, 20, 50, 60]
10 20 50 60 
Copier après la connexion

2. Trouver un programme pour le résultat donné dans une approche globale
l1 = [1,2,3]
l2 = [5,6,7]
Sortie :[(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)
Copier après la connexion

Sortie :

[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]
Copier après la connexion

3. Rechercher le programme pour la sortie donnée :
s = "a1b2c3"
sortie : abc123

Méthode :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))
Copier après la connexion

Méthode :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)
Copier après la connexion

Sortie :

abc123
Copier après la connexion

4. Rechercher le programme pour la sortie donnée :

s = "a4k3b2"
sortie : 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
Copier après la connexion

Sortie :

aeknbd

Explication :

-->La valeur ASCII de first est obtenue en utilisant ord(first), et second y est ajoutée pour trouver le nouveau caractère.
--->ord() utilisé pour trouver la valeur ASCII.
-->chr() convertit la valeur ASCII-->caractère.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal