web-dev-qa-db-fra.com

Puis-je mettre un tuple dans un tableau en python?

Je me demande comment mettre un tuple dans un tableau? ou est-il préférable d'utiliser des tableaux dans tableau pour la conception du programme plutôt qu'un Tuple dans un tableau? S'il vous plait conseillez-moi. Je vous remercie

12
iCezz

Une chose à garder à l'esprit est qu'un Tuple est immuable. Cela signifie qu'une fois créé, vous ne pouvez pas le modifier sur place. Un liste , en revanche, est modifiable - ce qui signifie que vous pouvez ajouter des éléments, supprimer des éléments et modifier des éléments sur place. Une liste a une surcharge supplémentaire, utilisez donc une liste uniquement si vous devez modifier les valeurs.

Vous pouvez créer une liste de tuples:

>>> list_of_tuples = [(1,2),(3,4)]
>>> list_of_tuples
[(1, 2), (3, 4)]

ou une liste de listes:

>>> list_of_lists = [[1, 2], [3, 4]]
>>> list_of_lists
[[1, 2], [3, 4]]

La différence est que vous pouvez modifier les éléments dans la liste de listes:

>>> list_of_lists[0][0] = 7
>>> list_of_lists
[[7, 2], [3, 4]]

mais pas avec la liste des tuples:

>>> list_of_tuples[0][0] = 7
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Tuple' object does not support item assignment

Pour parcourir une liste de tuples:

>>> for (x,y) in list_of_tuples:
...    print x,y
... 
1 2
3 4
17
jterrace

si vous parlez de list, vous pouvez y mettre n'importe quoi, même différents types:

l=[10,(10,11,12),20,"test"]

l[0] = (1,2,3)
l.append((4,5))
l.extend((21,22)) #this one adds each element from the Tuple

si vous voulez dire array, no python array s ne supporte pas les n-uplets.

7
Karoly Horvath
a = [ ('b', i , "ff" ) for i in range(1,5)]  
1
pkushiqiang