2011-08-05 3 views

Répondre

5

Comme Chris Gregg dit, vous ne pouvez pas ajouter quoi que ce soit à un tuple qui existe déjà. Vous pouvez ajouter deux tuples pour en créer un nouveau.

>>> t = (1, 2, 3) 
>>> d = {'a':1, 'b':2, 'c':3} 
>>> t + (d,) 
(1, 2, 3, {'a': 1, 'c': 3, 'b': 2}) 

L'ancien tuple reste le même:

>>> t 
(1, 2, 3) 

Vous pouvez aussi le faire:

t += (d,) 

qui est un raccourci pour

t = t + (d,) 
+0

C'est ce que je veux. Merci beaucoup. Tu sauves ma journée. – Zeck

2

Vous ne pouvez rien ajouter à un tuple, car il est immuable. Pour ajouter un dictionnaire à une nouvelle tuple, vous les mettez simplement dans les parenthèses, séparés par des virgules:

myTuple = (dict1, dict2, dict3) 
+0

De cette façon, vous créez un tuple avec des dictionnaires. J'ai besoin si tuple existait comment y ajouter un dictionnaires? – Zeck

+1

Vous ne pouvez rien ajouter à un tuple sans créer un nouveau tuple (vous devriez probablement utiliser des listes si vous voulez les ajouter). Si vous voulez vraiment un nouveau tuple avec l'ajout de votre ancien tuple, vous pouvez faire ceci: 'myTuple + = (anotherDict,)' –

1

Pourquoi utiliser un tuple? ils sont faits de sorte que vous ne pouvez pas ajouter de nouvelles valeurs après que vous l'ayez défini, vous ne pouvez en "en invoquer" qu'une nouvelle. Et si vous avez déjà un tuple, vous pouvez transformer votre tuple en une liste pour la période d'échange.

d = {'a':'val1' , 'b': 'val2'} 
tuple1 = (1 , 2 , 3) 
list1 = list(tuple1).append(d) 

cette façon, vous pouvez utiliser la liste si jamais vous voulez ajouter quelque chose de nouveau à lui et appeler un autre tuple. et si vous voulez vraiment que ce soit un tuple retour utilisez la fonction tuple.

tuple2 = tuple(list1) 

De toute façon, j'espère que vous avez obtenu le point de listes et de tuples.

Questions connexes