Maison >développement back-end >Tutoriel Python >Compréhension de la liste des jours

Compréhension de la liste des jours

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-01 14:14:10815parcourir

Day-List Comprehension

Compréhension de la liste :

C'est une méthode syntaxiquement élégante pour créer ou manipuler des listes en une seule ligne de code.

Écrivez un programme pour imprimer les fruits contenant la lettre 'a' (en utilisant la boucle for) :

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

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

print(newlist)

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

(Utilisation de la compréhension de liste) :

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

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

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

Écrivez un programme pour trouver la racine carrée d'un nombre donné :

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)
[100, 400, 900, 1600]
[100, 400, 900, 1600]

Trouver des numéros similaires dans 2 listes et des numéros différents dans les mêmes 2 listes :

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

30 40 
[30, 40]
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=' ')
[10, 20, 50, 60]
10 20 50 60

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

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

Écrivez un 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))

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

Écrivez un 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

aeknbd

Tâche :

1) Écrivez un programme pour obtenir le résultat '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

abbbbklllbcc

2) Écrivez un programme pour obtenir le résultat '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
aaaaakkkkbbb

3.Rejoignez la matrice donnée dans une liste unique en utilisant une boucle for complète et normale.

Méthode : 1 (Utilisation de la boucle for)

matrix = [[10,20,30], [40,50,60], [70,80,90]]
output=[]

for i in matrix:
    for j in i:
        output.append(j)
print(output)

Méthode : 2 (Utilisation d'une boucle for complète)

matrix = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]

output = [j for i in matrix for j in i]
print(output)

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

4.l = ['ABC','DEF', 'GHI', 'JKL']
Obtenez la SORTIE : ['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)
['ABC', 'def', 'GHI', 'jkl']

5.Trouvez le total par ligne pour la matrice donnée :

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

60 150 240

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