2010-01-06 4 views
2

J'ai une fonction Python qui doit passer en boucle à travers un tuple de coordonnées et d'imprimer leur contenu:Forcer des tuples dans des tuples?

def do(coordList): 
    for element in coordList: 
     print element 
y=((5,5),(4,4)) 
x=((5,5)) 

Lorsque y est exécuté par la fonction, il sorties (5,5) et (4,4) , le résultat souhaité. Cependant, exécuter x à travers les sorties de fonction 5 et 5.

Existe-t-il un moyen de forcer x à être défini en tant que tuple dans un tuple, et sinon, quel est le moyen le plus simple de résoudre ce problème?

Répondre

10

Utilisez une virgule de fin pour les tuples singleton.

x = ((5, 5),) 
6
x=((5,5),) 

(x) est une expression (x,) est un tuple singleton.

3

Ceci est une ancienne et exaspérante bizarrerie de la syntaxe python. Vous devez inclure une virgule de fin pour faire Python voir un tuple:

x = ((5,5),) 
2

Vous devez ajouter une virgule après votre premier tuple. ((5,5),) devrait fonctionner.

2

ajouter une virgule:

x=((5,5),)