web-dev-qa-db-fra.com

Python: Array v. List

Duplicata possible:
Liste Python vs. Array - quand l'utiliser?

Je travaille sur quelques projets en Python, et j'ai quelques questions:

  1. Quelle est la différence entre les tableaux et les listes?
  2. Si ce n'est pas évident à la question 1, laquelle dois-je utiliser?
  3. Comment utilisez-vous celui que vous préférez? (créer un tableau/une liste, ajouter un élément, supprimer un élément, choisir un élément aléatoire)
29
tkbx

Utilisez des listes, sauf si vous souhaitez des fonctionnalités très spécifiques qui se trouvent dans les bibliothèques de tableaux C.

python a vraiment trois structures de données primitives

Tuple = ('a','b','c')
list = ['a','b','c']
dict = {'a':1, 'b': true, 'c': "name"}

list.append('d') #will add 'd' to the list
list[0] #will get the first item 'a'

list.insert(i, x) # Insert an item at a given position. The first argument is the index of the element before which to insert, so a.insert(0, x) inserts at the front of the list, and a.insert(len(a), x) is equivalent to a.append(x).    

list.pop(2) # will remove items by position (index), remove the 3rd item
list.remove(x) # Remove the first item from the list whose value is x.

list.index(x) # Return the index in the list of the first item whose value is x. It is an error if there is no such item.

list.count(x) # Return the number of times x appears in the list.

list.sort(cmp=None, key=None, reverse=False) # Sort the items of the list in place (the arguments can be used for sort customization, see sorted() for their explanation).

list.reverse() # Reverse the elements of the list, in place.

Plus d'informations sur les structures de données ici: http://docs.python.org/tutorial/datastructures.html

39
Matt Alcock

Rien de bien concret ici et cette réponse est un peu subjective ...

En général, je pense que vous devriez utiliser une liste simplement parce qu'elle est prise en charge dans la syntaxe et est utilisée plus largement dans les autres bibliothèques, etc.

Vous devez utiliser tableaux si vous savez que tout dans la "liste" sera du même type et que vous souhaitez stocker les données de manière plus compacte.

14
Donald Miner