"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Notes/astuces/leçons/nuances Python

Notes/astuces/leçons/nuances Python

Publié le 2024-11-01
Parcourir:902

Python notes/tricks/lessons/nuances

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

1. Listes

  • Une structure de données de collection ordonnée d'éléments
  • Peut avoir plusieurs types
  • aa = ["pomme", 'd', 3, 9.3]

Initialisation :

  1. a = [1, 2]
  2. a = liste()
  3. a = liste([2, 3])
  4. [0]*5
  5. concat_list = liste1 liste2

Accéder aux éléments ⭐️

  • 0 ... n-1 et -n ... -1

Fonctions

  • len(list1)
  • a.append(valeur)
  • a.insert(index, value) : insère la valeur à l'index et pousse tout vers la droite
  • a.pop() : renvoie la valeur finale et la supprime
  • a.remove(value) : si la valeur n'est pas présente, vous obtiendrez une ValueError
  • a.clear()
  • a.reverse() : inverse sur place
  • a.sort() : modifie l'original
  • b = trié(a) : ne modifie pas l'original

Trancher ⭐️

Un moyen simple d'accéder aux sous-tableaux d'une liste

  • slicedList = a[1:5] : commence à l'index 1 et s'arrête à l'index 5, l'index 5 est exclu
  • slicedList = a[:3] : de 0 à 2
  • slicedList = a[1:3] : de 1 à 2
  • slicedList = a[:] : dupliquez la liste entière
  • slicedList = myList[::2] : index d'étape, un élément sur deux, commencez par le premier, en gros i=0;i
  • slicedList = myList[::-1] : bonne façon d'inverser une liste

Copier une liste

1. Copie superficielle

  • a = [1, 2, 3]
  • b = une

Modifier l'un modifie également l'autre puisque les deux sont les mêmes allocations de mémoire

2. Copie approfondie ⭐️

3 façons :

  1. b = a.copie()
  2. b = liste(a)
  3. b = une[:]

Compréhension de la liste

Je vais commencer par quelques compréhensions de base des listes, mais elles deviendront rapidement moins triviales.

  • values ​​= [x 1 pour x dans la plage (10)] -> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

- valeurs = [x pour x dans la plage (51) si x % 2 == 0]

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

Compréhension des listes imbriquées ⭐️

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
  • Autres compréhensions de listes :
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)

  • Fonctions dans les compréhensions :\ valeurs = [x**2 pour x en valeurs si valide (x)]

Compréhension du dictionnaire

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

Définir la compréhension

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

Déclaration de sortie Cet article est reproduit sur : https://dev.to/yashdevs/python-tricks-5b0c?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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