Maison >développement back-end >Tutoriel Python >Exercices de compréhension de la liste de jours Python
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)
Méthode :2 (complète)
fruits = ["apple", "banana", "cherry", "kiwi", "mango"] newlist = [x for x in fruits if "a" in x] print(newlist)
Sortie :
['apple', 'banana', 'mango']
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)
Sortie :
[100, 400, 900, 1600] [100, 400, 900, 1600]
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])
sortie :
[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=' ')
Sortie :
[10, 20, 50, 60] 10 20 50 60
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)
Sortie :
[(1, 5), (1, 6), (1, 7), (2, 5), (2, 6), (2, 7), (3, 5), (3, 6), (3, 7)]
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))
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)
Sortie :
abc123
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
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!