J'ai publié un article sur des astuces en C et je voulais écrire sur beaucoup plus d'astuces que je connais, car la plupart d'entre elles sont en Python et JS même si j'ai codé en C a 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 des listes, mais elles deviendront rapidement 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 dans de nombreux endroits en python, vous pouvez également le mettre dans des variables, il s'agit essentiellement d'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 nous avons des paires = [("a", 1), ("b", 2)] : une liste de paires ou de tuples
-> my_dict = {k:v for k, v in pairs} : décompression des valeurs, pour que cela fonctionne, chaque "paire" par paires 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...
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3