Dans Python, il existe plusieurs structures de données intégrées qui servent différentes fins en fonction de leurs caractéristiques, telles que la mutabilité, l'ordre et le type d'éléments qu'ils peuvent contenir. Passons par chacune de ces structures de données:
Listes :
[]
, par exemple, my_list = [1, 2, 3]
.Tuples :
()
, par exemple, my_tuple = (1, 2, 3)
.Ensembles :
set
) ou immuable ( frozenset
).{}
ou de la fonction set()
, par exemple, my_set = {1, 2, 3}
ou my_set = set([1, 2, 3])
.Dictionnaires :
{}
avec des paires de valeurs de clé, par exemple, my_dict = {'key1': 'value1', 'key2': 'value2'}
. Si vous avez besoin de stocker des articles commandés mutables, le meilleur choix serait une liste . Les listes sont conçues pour stocker des séquences d'éléments où vous devez maintenir l'ordre et être en mesure de modifier la séquence après sa création. Vous pouvez ajouter ou supprimer des éléments à l'aide de méthodes comme append()
, insert()
, pop()
et remove()
, et vous pouvez également modifier les éléments individuels par leur index.
Exemple d'utilisation d'une liste pour les éléments commandés mutables:
<code class="python">my_list = [1, 2, 3] my_list.append(4) # Adds 4 to the end my_list.insert(1, 1.5) # Inserts 1.5 at index 1 my_list[2] = 2.5 # Changes the value at index 2 to 2.5 print(my_list) # Output: [1, 1.5, 2.5, 3, 4]</code>
Pour récupérer efficacement les éléments à l'aide de clés dans Python, vous devez utiliser un dictionnaire . Les dictionnaires sont spécialement conçus pour des recherches basées sur des clés, avec une complexité temporelle moyenne d'O (1) pour accéder aux éléments. Cela les rend idéaux pour les situations où vous devez accéder fréquemment aux valeurs par leurs clés associées.
Exemple d'utilisation d'un dictionnaire pour la récupération basée sur les clés:
<code class="python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'} print(my_dict['name']) # Output: Alice print(my_dict.get('age')) # Output: 30</code>
La méthode get()
est particulièrement utile car elle vous permet de spécifier une valeur par défaut si la touche n'est pas trouvée, ce qui peut aider à éviter les exceptions KeyError
:
<code class="python">print(my_dict.get('country', 'Unknown')) # Output: Unknown</code>
L'utilisation d'ensembles de tests d'adhésion offre des avantages de performances significatifs. La complexité du temps pour les tests d'adhésion dans les ensembles est O (1) en moyenne, ce qui signifie qu'il est très efficace pour les grands ensembles de données. En effet, les ensembles sont implémentés à l'aide de tables de hachage, qui permettent des recherches rapides.
Exemple d'utilisation d'un ensemble de tests d'adhésion:
<code class="python">my_set = {1, 2, 3, 4, 5} print(3 in my_set) # Output: True print(6 in my_set) # Output: False</code>
En revanche, la vérification de l'appartenance à une liste a une complexité temporelle d'O (n), qui peut devenir lente pour les grandes listes. Voici une comparaison:
<code class="python">my_list = [1, 2, 3, 4, 5] print(3 in my_list) # Output: True, but slower for larger lists</code>
Par conséquent, si votre opération principale consiste à vérifier si un élément existe dans une collection, l'utilisation d'un ensemble peut améliorer considérablement les performances de votre code, en particulier avec des ensembles de données plus importants.
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!