Maison  >  Article  >  développement back-end  >  tutoriel de génération de liste complexe python

tutoriel de génération de liste complexe python

PHPz
PHPzoriginal
2017-04-23 16:56:501936parcourir

Cet article explique principalement les exemples d'application pratiques de la génération de listes Python ! J'espère que cela aidera les débutants !

1. Tableau HTML généré par une liste complexe :

Remarque : les chaînes peuvent être formatées avec %, en utilisant le paramétrage spécifié au lieu de %s. La méthode join() de string peut concaténer une liste en une chaîne.

Marquez les quelques scores en rouge :

d = { 'Adam' : 95, 'Lisa' : 85, 'Bart' : 59 >
def generate_tr(name , score) :
si le score <60
renvoie '%s%s< ;/tr> ;' % (nom, score)
return '%s%s' 🎜>tds = [generate_tr(name, score) for name, score in d.iteritems()]
print '

'
print ' ;Nom'
print 'n'.join(tds)
print '
Score
'

2 . Filtrage conditionnel

Vous pouvez également ajouter un jugement if après la boucle for de génération de liste :

Convertir toutes les chaînes de la liste en majuscules et renvoyer, les éléments non-chaînes seront ignorés

Conseils :

1. isintance(x,str) peut déterminer si la variable x est une chaîne

2. La méthode upper() de chaîne peut renvoyer une lettre majuscule

.

def toUppers(L):

return [x.upper() for x in L if isinstance(x,str)]

print toUppers(['Hello', 'world', 101 ])

3. Les expressions multi-niveaux

for les boucles peuvent être imbriquées, donc dans les expressions de génération de liste, les boucles for multi-niveaux peuvent être utilisées pour générer des listes

For exemple : pour les chaînes 'ABC' et '123', vous pouvez utiliser le remplacement de village à deux niveaux pour générer un arrangement complet

[n+m pour m dans 'ABC' pour n dans '123']

Exercice : utilisez trois niveaux de boucles for imbriquées pour trouver des nombres symétriques à 3 chiffres tels que 121

imprimer [100*m+10*n+m pour m dans la plage(1,10) pour n dans la plage (0,10)]

L=[]

pour x dans la plage(1,10) :
pour y dans la plage(10) :
pour z dans range (1,10):
if x==z :
L.append(100*x+10*y+z)
print L

Recommandation de cours :

Tutoriel vidéo en ligne Python

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