Maison >développement back-end >Tutoriel Python >Notes/astuces/leçons/nuances Python
J'ai fait un article sur des astuces C++ et je voulais écrire sur beaucoup plus d'astuces que je connais, puisque la plupart d'entre elles sont en Python et JS même si j'ai codé en C++ un beaucoup plus mais de toute façon les voici, je vais commencer par des choses triviales sur la syntaxe de base de Python mais il y a certaines choses qui ne sont pas connues des débutants, que j'ai marquées d'une étoile ⭐️ :
Un moyen simple d'accéder aux sous-tableaux d'une liste
Modifier l'un modifie également l'autre puisque les deux sont les mêmes allocations de mémoire
3 façons :
Je vais commencer par quelques compréhensions de base de listes, mais elles deviendront vite moins triviales.
values = [word for word in values if len(word) > 1 and word[0] == 'a' and word[-1] == 'y'] # OR, a nicer way is ⭐️ values = [ string for string in values if len(string) > 1 if string[0] == 'a' if string[-1] == 'y' ]
Aplatir une liste de listes, ou une matrice 2D
Compréhension de listes imbriquées : Aplatir une matrice (une liste de listes) ⭐️
Exemple : matrice = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
values = [ number for row in matrix for number in row ] # first for loop then the next for loop is inside the first and so on
values = [ "Even" if x % 2 == 0 else "Odd" for x in range(10) ]
Cette syntaxe ->
"Même" si x % 2 == 0 sinon "Odd" est valide à beaucoup d'endroits en python, vous pouvez aussi le mettre dans des variables, c'est essentiellement un opérateur ternaire mais plus verbeux
⭐️ Pour comprendre toute compréhension de liste, regardez toujours à gauche et à droite de l'expression, toutes les boucles imbriquées vont de gauche à droite, lorsque le if else est à gauche de la boucle for, nous vérifions quelle valeur voulons-nous insérer en fonction de la condition if else, alors que lorsque la boucle for est à droite, nous essayons de filtrer à partir de la liste
Par exemple pour créer une liste 5x5x5 : ⭐️
values = [[[num+1 for num in range(5)] for _ in range(5)] for _ in range(5)]
⭐️ Recherchez la boucle for la plus extérieure, tout ce qui se trouve à sa gauche sera ajouté au tableau valeurs[], et la signification de cette syntaxe : for _ in range(5) est que je veux faire tout ce qui se passe la gauche de cette boucle for 5 fois (car je me fiche de la valeur de la variable itérateur à chaque itération)
Si on a des paires = [("a", 1), ("b", 2)] : une liste de paires ou de tuples
-> my_dict = {k:v for k, v in pairs} : décompression de la valeur, pour que cela fonctionne, chaque "paire" par paire doit avoir exactement 2 entités
Soit nombres = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3]
unique_nums = {x for x in nums} : python saura que cela devrait être un ensemble car vous n'avez aucune clé
J'écrirai ceci une fois que j'aurai un peu de temps, mais vous pouvez toujours les consulter ici : AdvancedPythonConcepts c'est mon dépôt git où j'ai documenté les concepts python lorsque je les ai appris pour la première fois. J'écrirai cet article basé sur ce dépôt une fois que j'aurai le temps...
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!