我想迭代元素((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
答案 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中的类型。使用其他内容,例如tuples
,my_tuple
,...