用元组元组解压缩错误?

时间:2014-02-23 07:05:55

标签: python syntax tuples

我想迭代元素((a,b),(x,y)),所以我尝试了:

def method(tuple):
    ((a,b),(x,y))= tuple
    for element in tuple:
    .....

然后我读了另一个stackoverflow页面,其中提出了类似这样的内容:

def method(tuple):
    ((a,b),(x,y))= tuple
    for element in tuple[0:4]:
    .....

两者都导致了错误:ValueError:需要多于1个值才能解压缩。

python中不允许这个动作,还是只有语法问题? 我也检查了python文档。

感谢您的任何建议。

修改

map = ((1,0),(3,2))
    def count(map):
        ((a,b),(x,y))= tuple
        inc=0
        for element in tuple:
            inc+=1

1 个答案:

答案 0 :(得分:4)

如果你有一个元组元组,格式为((a, b), (x, y)),你可以迭代它的元素:

def method(tuples):
    for tup in tuples:
        for e in tup:
            print e

如果您想拥有4个变量,可以单独使用它们:

def method(tuples):
    (a, b), (x, y) = tuples
    print a, b, x, y

注意: 不要使用Python内置名称作为变量名称。换句话说,不要将tuple用作变量的名称,因为它是Python中的类型。使用其他内容,例如tuplesmy_tuple,...